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變量中