構建 JUnit 測試容器以持續測試 Selenium 的測試用例
我們搭建的這個(gè)容器可以檢測某個(gè)文件夾里所有的測試用例自動(dòng)運行 JUnit 代碼進(jìn)行測試。如果需要還可以將這個(gè)容器合并到持續集成環(huán)境里,以達到不間斷持續功能性測試的需求。
在這里我們會(huì )用到 Ant 工具??梢栽谶@里下載:
Ant 下載:http://ant.apache.org/
基礎架構
圖 8. 基于 Selenium 的 JUnit 的測試容器架構圖
可以看見(jiàn)測試人員的工作如紫色箭頭所示,而自動(dòng)化工作如藍色箭頭所示。
這套框架的意義在于,它能自動(dòng)識別測試用例,并讀取配置文件以測試套件運行不同的測試用例。它還可以被合并到項目持續集成軟件中,定期地持續進(jìn)行基于 Web 的功能性測試,并將報告以郵件形式通知管理人員。
說(shuō)明:
由測試人員錄制腳本并導出 JUnit。
測試人員修改配置文件,將測試用例包含在測試套件中。
合并在持續集成軟件后,框架會(huì )定期檢測配置的測試套件
逐個(gè)加載測試用例。
以測試套件為單位其執行所有測試用例。
執行完成后將測試套件的結果報告以郵件形式通知管理人員
實(shí)現這套框架最關(guān)鍵的當屬 Ant 執行腳本了,也是程序執行的入口。這里列出 Ant 的運行腳本,以供讀者參考:
清單 2. Build.xml
以下為部分重點(diǎn)內容,會(huì )在后面加以說(shuō)明。完整的 build.xml 請查看附件。 <?xml version="1.0" encoding="UTF-8"?> <project name="automationtesting" default="run" basedir="."> …… <!-- 調用 Junit task 運行測試用例--> <mkdir dir="${xml}/${var}" /> <junit printsummary="yes"> <classpath> <fileset dir="${lib}"> <include name="**/*.jar" /> </fileset> <pathelement path="${classpath}" /> </classpath> <batchtest todir="${xml}/${var}"> <filelist refid="casesToBeRunning"></filelist> <formatter type="xml" /> </batchtest> </junit> …… <!-- 調用 Junitreport task 生成報表--> <junitreport todir="${reports}"> <fileset dir="${xml}/${var}"> <include name="TEST-*.xml" /> </fileset> <report id="${var}_Report" format="noframes" todir="${reports}/html"> <param name="TITLE" expression="Automation Testing Results for ${var}" /> </report> </junitreport> …… <!-- 調用 mail task 發(fā)送郵件--> <mail mailhost="xx.xx.xx.xx" subject="${reportResult} Result for TestSuite: ${var}"> <from address="AutomationTestTool" /> <to address="xxxx@cn.ibm.com" /> <message mimetype="text/html" src="${reports}\html\Testsuite-report-${var}.html"> </message> <fileset dir="${reports}\html"> <include name="Testsuite-report-${var}.html" /> <include name="Testcase-reports-${var}.zip" /> </fileset> </mail> </project> |
原文轉自:http://www.uml.org.cn/Test/201707182.asp