• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 使用HttpUnit進行集成測試

    發表于:2011-12-05來源:未知作者:領測軟件測試網采編點擊數: 標簽:集成測試
    [內容摘要] HttpUnit是一個集成測試工具,主要關注Web應用的測試,提供的幫助類讓測試者可以通過Java類和服務器進行交互,并且將服務器端的響應當作文本或者DOM對象進行處理。HttpUnit還提供了一個模擬Servlet容器,讓你可以不需要發布Servlet,就可以對Servl

      [內容摘要] HttpUnit是一個集成測試工具,主要關注Web應用的測試,提供的幫助類讓測試者可以通過Java類和服務器進行交互,并且將服務器端的響應當作文本或者DOM對象進行處理。HttpUnit還提供了一個模擬Servlet容器,讓你可以不需要發布Servlet,就可以對Servlet的內部代碼進行測試。本文中作者將詳細的介紹如何使用HttpUnit提供的類完成集成測試。

      關鍵詞: httpunit 集成測試

      1 HttpUnit簡介

      HttpUnit是SourceForge下面的一個開源項目,它是基于JUnit的一個測試框架,主要關注于測試Web應用,解決使用JUnit框架無法對遠程Web內容進行測試的弊端。當前的最新版本是1.5.4。為了讓HtpUnit正常運行,你應該安裝JDK1.3.1或者以上版本。

      1.1 工作原理

      HttpUnit通過模擬瀏覽器的行為,處理頁面框架(frames),cookies,頁面跳轉(redirects)等。通過HttpUnit提供的功能,你可以和服務器端進行信息交互,將返回的網頁內容作為普通文本、XML Dom對象或者是作為鏈接、頁面框架、圖像、表單、表格等的集合進行處理,然后使用JUnit框架進行測試,還可以導向一個新的頁面,然后進行新頁面的處理,這個功能使你可以處理一組在一個操作鏈中的頁面。

      1.2 和其他商業工具的對比

      商業工具一般使用記錄、回放的功能來實現測試,但是這里有個缺陷,就是當頁面設計被修改以后,這些被記錄的行為就不能重用了,需要重新錄制才能繼續測試。

      舉個例子:如果頁面上有個元素最先的設計是采用單選框,這個時候你開始測試,那么這些工具記錄的就是你的單項選擇動作,但是如果你的設計發生了變化,比如說我改成了下拉選擇,或者使用文本框接受用戶輸入,這時候,你以前錄制的測試過程就無效了,必須要重新錄制。

      而HttpUnit因為關注點是這些控件的內容,所以不管你的外在表現形式如何變化,都不影響你已確定測試的可重用性。

      更多的關于httpunit的信息請訪問httpunit的主頁 http://httpunit.sourceforge.net/

      2 作者的演示環境

      系統平臺:Windows 2000 Sercver

      應用服務器:深圳金蝶的apusic3.0

      開發工具: eclipse 2.1.2

      說明: 所有的代碼請下載作者提供的code.jar文件。

      3 HttpUnit安裝、環境配置

      3.1 安裝

      1. 到HttpUnit的主頁 http://httpunit.sourceforge.net 下載最新的包文件,當前的最新版本是1.5.4。/

      2. 將下載。Zip包解壓縮到c:/httpunit(后面將使用%httpunit_home%引用該目錄)

      3.2 環境配置

      作者的演示程序都是在eclipse中開發、執行的,所以環境配置都是以eclipse為例,如果你使用其他的開發工具,請根據這些步驟進行環境配置。

      1. 啟動eclipse,建立一個java工程

      2. 將%httpunit_home%/lib/*.jar; %httpunit_home%/jars/*.jar加入到該java工程的Java build Path變量中

      4 如何使用httpunit處理頁面的內容

      WebConversation類是HttpUnit框架中最重要的類,它用于模擬瀏覽器的行為。其他幾個重要的類是:

      WebRequest 模仿客戶請求,通過它可以向服務器發送信息

      WebResponse 模擬瀏覽器獲取服務器端的響應信息

      4.1 獲取指定頁面的內容

      4.1.1 直接獲取頁面內容

     

    cccccc" class="content"> System.out.println("直接獲取網頁內容:");
     // 建立一個WebConversation實例
     WebConversation wc = new WebConversation();
     // 向指定的URL發出請求,獲取響應
     WebResponse wr = wc.getResponse( " http://localhost:6888/HelloWorld.html " );
     // 用getText方法獲取相應的全部內容
     // 用System.out.println將獲取的內容打印在控制臺上
     System.out.println( wr.getText() );

      4.1.2 通過Get方法訪問頁面并且加入參數

      System.out.println("向服務器發送數據,然后獲取網頁內容:");

     

    //建立一個WebConversation實例
     WebConversation wc = new WebConversation();
     //向指定的URL發出請求
     WebRequest req = new GetMethodWebRequest( " http://localhost:6888/HelloWorld.jsp " );
     //給請求加上參數
     req.setParameter("username","姓名");
     //獲取響應對象
     WebResponse resp = wc.getResponse( req );

    //用getText方法獲取相應的全部內容
     //用System.out.println將獲取的內容打印在控制臺上
     System.out.println( resp.getText() );

      4.1.3 通過Post方法訪問頁面并且加入參數

      System.out.println("使用Post方式向服務器發送數據,然后獲取網頁內容:");

     

    //建立一個WebConversation實例
     WebConversation wc = new WebConversation();
     //向指定的URL發出請求
     WebRequest req = new PostMethodWebRequest( " http://localhost:6888/HelloWorld.jsp " );
     //給請求加上參數
     req.setParameter("username","姓名");
     //獲取響應對象
     WebResponse resp = wc.getResponse( req );

    //用getText方法獲取相應的全部內容
     //用System.out.println將獲取的內容打印在控制臺上
     System.out.println( resp.getText() );

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>