构建 JUnit 测试容器以持续测试 Selenium 的测试用例
我们搭建的这个容器可以检测某个文件夹里所有的测试用例自动运行 JUnit 代码进行测试。如果需要还可以将这个容器合并到持续集成环境里,以达到不间断持续功能性测试的需求。
在这里我们会用到 Ant 工具。可以在这里下载:
Ant 下载:http://ant.apache.org/
基础架构
图 8. 基于 Selenium 的 JUnit 的测试容器架构图
可以看见测试人员的工作如紫色箭头所示,而自动化工作如蓝色箭头所示。
这套框架的意义在于,它能自动识别测试用例,并读取配置文件以测试套件运行不同的测试用例。它还可以被合并到项目持续集成软件中,定期地持续进行基于 Web 的功能性测试,并将报告以邮件形式通知管理人员。
说明:
由测试人员录制脚本并导出 JUnit。
测试人员修改配置文件,将测试用例包含在测试套件中。
合并在持续集成软件后,框架会定期检测配置的测试套件
逐个加载测试用例。
以测试套件为单位其执行所有测试用例。
执行完成后将测试套件的结果报告以邮件形式通知管理人员
实现这套框架最关键的当属 Ant 执行脚本了,也是程序执行的入口。这里列出 Ant 的运行脚本,以供读者参考:
清单 2. Build.xml
以下为部分重点内容,会在后面加以说明。完整的 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 发送邮件--> <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