說(shuō)明:程序的入口是 Run task,在 Run task 里先是編譯整個(gè)工程,然后讀取 TestSuites.xml 配置文件,循環(huán)執行每一個(gè)測試套件。過(guò)程中,以此執行以下操作:
讀取配置的并且實(shí)現 TestCase 的 Java 類(lèi);
調用 Ant 的 junit task 執行測試用例;
調用 Ant 的 junitreport task 生成報表;
調用 Ant 的 mail task 發(fā)送報表到指定郵箱。
清單 3. TestSuites.xml 配置文件樣例
<TestSuites> <TestSuite enable="false" id="DiscoverTestSuite"> <Testcase>VerifyLogin</Testcase> <Testcase>DiscoverDevice</Testcase> </TestSuite> <TestSuite enable="true" id="DeleteDeviceTestSuite"> <Testcase>VerifyLogin</Testcase> <Testcase>DeleteDevice</Testcase> </TestSuite> </TestSuites> |
說(shuō)明:配置文件中定義了兩個(gè)測試套件,第一個(gè)包含了 2 個(gè)測試用例,先 Login 再發(fā)現設備。第二個(gè)也包含了 2 個(gè)測試用例,先 Login 再刪除設備。而第一個(gè)測試套件 enable=false 將不被執行。
到此為止,一個(gè)簡(jiǎn)單的可持續測試框架就已經(jīng)搭建完畢,來(lái)運行下看看結果吧
運行測試組建
用 ant 命令執行 Build.xml 即可運行測試框架。
圖 9. 工具運行時(shí)
執行完成后就會(huì )將所有測試用例的結果以報告形式發(fā)送郵件到指定郵箱。
圖 10. 報告式樣
結束語(yǔ)
本文首先介紹了 Selenium 以及 Selenium 1 的實(shí)現原理。緊接著(zhù)用一個(gè) Login 的簡(jiǎn)單例子講述了如何去搭建 Selenium 運行環(huán)境,并將其導出為 JUnit 代碼。最后構建了一個(gè)基于 Ant 的自動(dòng)化測試 Selenium 框架,持續地對生成的 JUnit 測試用例進(jìn)行管理以及功能性測試。讀者也可以借鑒該腳本搭建自己的輕量級的單元測試框架。
目前主流的 web 自動(dòng)化測試框架還有 QTP,基于 Ruby 的 WATIR。與這些框架相比,Selenium 支持 IE、Mozilla Firefox 等多種瀏覽器,同時(shí)支持自動(dòng)錄制腳本以及 Java、C#、Ruby 等多種運行語(yǔ)言的自動(dòng)生成,測試用例制作快捷,運行也比較快速。對于較為輕量級相比起來(lái) Selenium 要顯得更為靈活實(shí)用。Selenium 不僅用于功能性測試及回歸測試,同時(shí)也可用于 Web 可視化驗收測試。更多的,Selenium 可集成在諸如 Cruise 持續集成軟件中,為整體項目提供更大集成測試范圍。
原文轉自:http://www.uml.org.cn/Test/201707182.asp