在一個目錄中解壓縮 j-webunitsample.jar。例如,如果把它釋放到 C:\temp 中,那么就要把源文件和類文件放在 C:\temp\com\jweb\test 中,而 setclasspth.bat 則放在 C:\temp 中!
編輯 setclasspath.bat:設置 JAR_BASE 指向包含所有必需 JAR 文件的目錄。例如,如果在 C:\temp 中釋放 jwebunit-1.2.zip 文件,那么將 JAR_BASE 設置為 C:\temp\jwebunit-1.2\lib!
打開命令行提示符,切換到 C:\temp 目錄!
執行 setclasspath.bat。這會設置執行測試用例所需的 CLASSPATH!
用命令 java com.jweb.test.GoogleTest "HttpUnit Home" 運行應用程序。
示例輸出
在執行了測試用例之后,會在命令行輸出一個測試用例報告。如果測試失敗,報告看起來如清單 7 中所示:
清單 7. 帶有斷言失敗的輸出
C:\temp>java com.jweb.test.GoogleTest "HttpUnit Hwee" .F Time: 5.338 There was 1 failure: 1) testSearch(com.jweb.test.GoogleTest)junit. framework.AssertionFailedError: Link with text [HttpUnit Hwee] not found in response. at net.sourceforge.jwebunit.WebTester. assertLinkPresentWithText(WebTester.java:618) at net.sourceforge.jwebunit.WebTestCase. assertLinkPresentWithText(WebTestCase.java:244) at com.jweb.test.GoogleTest.testSearch(GoogleTest.java:36) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at com.jweb.test.GoogleTest.main(GoogleTest.java:19) FAILURES!!! Tests run: 1, Failures: 1, Errors: 0
正如在清單 7 中可以看到的,可以用 HttpUnit Hwee 作為參數來執行測試用例。這個測試用例遇到斷言的地方會失敗,因為結果頁面中不包含帶有這個文本的鏈接。由此也就產生了junit.framework.AssertionFailedError!
清單 8 執行時用 HttpUnit Home 作為參數。測試用例找到一個帶有這個文本的鏈接,所以測試通過了:
清單 8. 成功測試的輸出
C:\temp>java com.jweb.test.GoogleTest "HttpUnit Home"
Time: 6.991
OK (1 test)
結束語
本文通過討論 jWebUnit 框架的一些突出特性和最重要的類,介紹如何用它創建簡潔的測試用例,讓您對 jWebUnit 框架有一個認識。jWebUnit 還有更多特性可以用在測試用例中。它支持測試 Web 頁面中的鏈接行數?梢詫ψ址、表或者帶有指定標簽的表單輸入元素是否存在于頁面上進行斷言。此外,jWebUnit 還可以處理 cookie (例如斷言存在某個 cookie、刪除 cookie 等。)測試可以對某個文本之后出現的特定文本的鏈接進行單擊。 如果想為 Web 應用程序構建快而有效的測試用例,jWebUnit可能是您最好的朋友。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/