自动化测试用例的最终目的就是无人值守的自动化回归测试,不管是用什么语言,什么框架编写的测试用例,如果想达到这个效果,都需要借助于Jenkins或是Hudson。根据业界的习惯,我们还是使用Jenkins。在本人的各个自动化测试教程中,已经多次介绍到了Jenkins的使用,网上也有很多相应的教程,在此就不在累述,我们只讲解如何将TestNG编写的测试用例接入到Jenkins中。
Jenkins提供了非常人性化的配置,根据不同的需要,我们可以安装相应的插件,配置不同的功能以达到我们的需要。
本方案建议安装的六个插件分别是“Extended Choice Parameter plugin”,“EnvInject Plugin”,“Build User Vars Plugin”,“Build Name Setter Plugin”,“HTML Publisher Plugin”和“Email-ext plugin”。
安装插件的方法十分简单,按如下步骤进行即可:
(1)在打开的jenkins页面上,找到“Manage Plugins”链接,如图7.1.1所示,然后单击这个链接。
图7.1.1 查找Manage Plugins链接
(2)在打开的页面中,找到要添加的插件,勾选所需要的目标插件,点击页面下方的相应安装按钮即可。如图7.1.2所示:
图7.1.2勾选所需要的目标插件
经过我们的努力,我们已完成了对被测试对象的代码覆盖,单个用例以及用例集都调试通过了。现在我们就将代码接入到Jenkins中,然后再做相应的配置,实现按我们的需要进行回归测试。
(1)上传自动化测试代码到SVN或是Git。要对自动化测试代码进行管理,上传到代码管理工具中,如上传到Git:[email protected]:zhongchou/zcapitest.git.
同时在Jenkins配置的机器上安装jdk,testng等必需的软件。
(2)打开Jenkins,创建Job。打开Jenkins网站,创建Job如:Zhongchou-AutoTest-OnlineEnv,并对项目描述,丢弃旧的构建和启用项目安全进行相应的配置,如图7.2.1所示:
图7.2.1 Jenkins描述等配置
(3)源码管理和构建触发器。在源码管理中我们选择Git,并将上面的Git地址填写进去。并且在构建触发器的时候,我们设置成定时执行。详细说明见:http://blog.sina.com.cn/s/blog_68f262210102vmlx.html,具体配置如图7.2.2所示:
7.2.2 配置源码和构建触发器
(4)填写构建命令。构建命令是我们执行自动化测试用例的命令行,如果没有此命令行,则Jenkins就不知道如何执行自动化测试,所以TestNG对应的命令行运行如:
Set CLASSPATH=libs\testng.jar;libs\autoTests.jar
Java org.testng.TestNG –testname testng.xml –d test-output\%BUILD_ID%
-testname 接受以逗号隔开的 test name 列表,脚本运行时 suite xml 中只有-testname 选项列表里指定了的 test 才会被执行。
-d 指定 TestNG 默认 report 生成的路径。因为不同用户可能存在并行执行的请求,为了防止冲突,每一个请求的 report 会生成在以环境变量 BUILD_ID 命名的目录下,BUILD_ID 可以唯一标示不同的请求。
将命令填写到Jenkins配置页—>构建à“Execute shell”à“Command”框中。
(5)脚本执行完毕之后,接下来就需要归档生成的测试报告。这里采用了插件“HTML Publisher Plugin”新增的配置选项。首先在“Add post-build action”中选择“Publish HTML reports”,指定每一个请求所生成的 HTML 报告的路径和文件名, 勾选“Keep past HTML reports”, 这样就可以在历史记录的快捷菜单中轻松的查询过往请求的执行报告了。
图7.2.3 添加报告项
图7.2.3报告路径和配置
图7.2.4 查看测试报告
(6)失败邮件通知。如果测试用例执行失败了,我们希望邮件通知相关人员,这里就可以单击“构建后操作”->“E-mail Notification”,然后在Recipients后填写要接收邮件的邮箱地址。同时选择“每次不稳定的构建都发送邮件通知”即可。
(7)保存配置。单击保存后,就将测试用例接入到了,Jenkins中,并且每个小时会自动执行一次。
(8)手工执行。在Jenkins页面上,打开刚刚创建的Job Zhongchou-AutoTest-OnlineEnv,单击页面左侧的“立即构建”,即可马上执行自动化测试用例。如图7.2.5所示:
图7.2.5 立即构建自动化测试用例
(9)查看构建结果。单击Job左侧“Build History”要查看的构建的任务,在打开的页面左侧单击“控制台输出”,既可在右侧打开控制台输出,查看测试用例执行的结果。
此时我们的执行结果还不太好看,因为没有使用testng-results.xsl对结果进行美化,所以在上面的命令行最后添加上:ant build.xml。保存后,再次运行,就可以对TestNG产生的报告进行美化,形成第六章我们展示的报告样式。
在本章我们讲解了如何对Jenkins进行配置,使其能满足TestNG的需要,而后分步介绍了如何将我们的webdriver+TestNG编写的代码添加到Jenkins中,从而实现自动执行或是手工执行。如果测试用例出现了问题,则会给相关人员发送邮件通知。还可以借助于第三方接口实现短信通知,我们在其他几个自动化测试用例中已经讲解过,而且第三方发短信接口也不是每个公司都有的,所以不太通用。在此就不多做介绍了,有需要的可以参考本人的其他相关博文。