應用HttpUnit進行Web測試(下)

發表于:2010-06-28來源:作者:點擊數: 標簽:webWebWEB應用HttpUnit
應用 HttpUnit 進行 Web測試 (下) 軟件測試 5、如何使用httpunit進行測試 5.1 對頁面內容進行測試 httpunit中的這部分測試完全采用了JUnit的 測試方法 ,即直接將你期望的結果和頁面中的輸出內容進行比較。 比如你期望中的頁面顯示是中有一個表格,它是頁面

  應用HttpUnit進行Web測試(下)  軟件測試

  5、如何使用httpunit進行測試

  5.1 對頁面內容進行測試

  httpunit中的這部分測試完全采用了JUnit的測試方法,即直接將你期望的結果和頁面中的輸出內容進行比較。

  比如你期望中的頁面顯示是中有一個表格,它是頁面中的第一個表格,而且他的第一行第一列的數據應該是顯示username,那么你可以使用下面的代碼進行自動化測試

  // 建立一個WebConversation實例

  WebConversation wc = new WebConversation();

  // 獲取響應對象

  WebResponse resp = wc.getResponse( "http://www.sqalab.com/article/html/article_59.html" );

  // 獲得對應的表格對象

  WebTable webTable = resp.getTables()[0];

  // 將表格對象的內容傳遞給字符串數組

  String[][] datas = webTable.asText();

  // 對表格內容進行測試

  String expect = "中文";

  // 增加 assertEquals 判斷

  Assert.assertEquals(expect,datas[0][0]);

  5.2 對Servlet進行測試

  除了對頁面內容進行測試外,有時候(比如開發復雜的Servlets的時候),你需要對 Servlet本身的代碼塊進行測試,這時候你可以選擇HttpUnit,它可以提供一個模擬的Servlet容器,讓你的Servlet代碼不需要發布到Servlet容器(如tomcat)就可以直接測試。

  5.2.1 原理簡介

  使用httpunit測試Servlet時,請創建一個ServletRunner的實例,他負責模擬Servlet容器環境。如果你只是測試一個Servlet,你可以直接使用registerServlet方法注冊這個Servlet,如果需要配置多個Servlet,你可以編寫自己的web.xml,然后在初始化ServletRunner的時候將它的位置作為參數傳給 ServletRunner的構造器。

  在測試Servlet時,應該記得使用ServletUnitClient類作為客戶端,他和前面用過的WebConversation差不多,都繼承自WebClient,所以他們的調用方式基本一致。要注意的差別是,在使用 ServletUnitClient時,他會忽略URL中的主機地址信息,而是直接指向他的ServletRunner實現的模擬環境。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97