您是否正在尋找一種把自動測試技術應用到 Web 開發中的方法?那麼不用再找了!JWebUnit 就是為 Web 應用程序創建測試用例的一個開源框架
它可以容易地插入到大多數 Java IDE 中
通過使用一個示例應用程序
描述了生成簡潔測試用例的詳細步驟
軟件工程師 Amit Tuli 對 JWebUnit 進行了介紹
自動測試可以節省重復執行相同測試步驟的時間和精力
本文將介紹 jWebUnit
這是一組 Java 類
用於為 Web 應用程序開發測試用例
jWebUnit 是一個開源項目
可以在 BSD 許可下免費獲得
我將介紹如何下載 JWebUnit 庫
配置 Eclipse 平台來開發 jWebUnit 測試用例
以及如何構建一個示例測試用例
JWebUnit 簡介 JWebUnit 以 HttpUnit(一個進行 Web 應用程序自動測試的 Java 庫)和 JUnit 單元測試框架為基礎(請參閱 參考資料)
jWebUnit 提供了導航 Web 應用程序的高級 API
並組合了一組斷言
用它們來驗證鏈接導航
表單輸入項和提交
表格內容以及其他典型商務 Web 應用程序特性的正確性
jWebUnit 以 JAR 文件形式提供的
可以很容易地將它插入大多數 IDE 中
jWebUnit 也包含其他必要的庫
用 HttpUnit 進行測試 對 Web 應用程序自動進行測試意味著跳過 Web 浏覽器
通過程序來處理 Web 站點
首先
我要介紹 HttpUnit(JWebUnit 的構建塊之一)是如何簡化這項工作的
HttpUnit 可以模擬幀
javascript
頁面重定向 cookie
等等
在將 HttpUnit 用於 JUnit 時
它可以迅速地對 Web 站點的功能進行驗證
清單
顯示了一個用 HttpUnit 編寫的測試用例
它試圖單擊 HttpUnit 主頁上的
Cookbook
鏈接
清單
單擊 HttpUnit 主頁上 Cookbook 鏈接的 HttpUnit 代碼
public class HttpUnitTest {
public static void main(String[] args) {
try {
WebConversation wc = new WebConversation();
WebRequest request =
new GetMethodWebRequest(//
);
wc
setProxyServer(
);
WebResponse response = wc
getResponse(request);
WebLink httpunitLink =
response
getFirstMatchingLink(WebLink
MATCH_CONTAINED_TEXT
Cookbook
);
response = ();
System
out
println(
Test successful !!
);
} catch (Exception e) {
System
err
println(
Exception:
+ e);
}
}
}
清單
中的代碼用 (第
行)連接 Internet
如果存在直接 Internet 連接
那麼可以把這個語句注釋掉
第
行的語句在頁面中搜索包含文本 Cookbook 的 Web 鏈接
第
行的語句用於單擊這個鏈接
如果找到鏈接
那麼用戶會看到 Test Successful !這條消息
用 JWebUnit 進行的測試更簡單 清單
的測試用例用 JWebUnit API 執行和清單
相同的任務
清單
單擊 HttpUnit 主頁上 Cookbook 鏈接的 JWebUnit 代碼
public class JWebUnitTest extends WebTestCase{
public static void main(String[] args){
junit
textui
TestRunner
run(new TestSuite(JWebUnitTest
class));
}
public void setUp(){
getTestContext()
setBaseUrl(
);
getTestContext()
setProxyName(
web
);
getTestContext()
setProxyPort(
);
}
public void testSearch(){
beginAt(
/l
);
clickLinkWithText(
Cookbook
);
}
}
如果沒注意清單
中特定於 JUnit 的代碼
那麼您可以看到
測試用例現在變得相當整潔
簡練
需要查看的重要的行是第
行
第
行和第
行
在第
行
基本 URL 被設置到 HttpUnit 的主頁中
第
行用相對路徑 /l 連接站點
第
行用於單擊頁面上具有文本 Cookbook 的鏈接
如果鏈接有效
那麼 JUnit 會報告成功
否則
JUnit 會報告異常
JWebUnit API進一步觀察 每個 JWebUnit 測試的核心都是 net
sourceforge
jwebunit
WebTestCase 類
它代表測試用例
每個測試用例都必須是從這個類擴展而來
(net
sourceforge
jwebunit
WebTestCase 類本身則是從 junit
framework
TestCase 類擴展而來的
它在 JUnit 中代表測試用例
) 表
描述了這個類的一些常用方法
表
net
sourceforge
jwebunit
WebTestCase 類的重要方法
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/19381.html