Jenkins简介
Jenkins是Java编写的非常流行的持续集成(CI)服务,起源于Hudson项目。所以Jenkins和Hudson功能相似。
Jenkins支持各种版本的控制工具,如CVS、SVN、Git、Mercurial、Perforce和ClearCase,而且可以执行用Apache Ant或Java Maven构建的项目。同时,它也可以利用一些插件、Shell脚本和Windows批处理命令来构建其他平台的项目。
Jenkins除了构建软件功能外,还可以用于搭建自动化测试环境,比如实现Python Selenium测试的无人值守的情况下按照预定的时间调度运行(如晚上),或者每次代码变更提交至版本控制系统时实现自动运行的效果。
下面,我将演式如何搭建Jenkins并创建一个自由风格的软件项目在无人值守的情况下按预定时间自动化测试(基于Python Selenium自动化测试)。
Jenkins环境准备
为了能够成功使用Jenkins执行测试,我们需要做一些修改。目标是在Jenkins上按计划执行测试,然后收集测试结果并显示在Jenkins Dashboard页面。为了实践,我将重用之前创建的百度冒烟测试。
我使用了unittest的TestSuite Runner批量执行测试,并以JUnit报告的格式输出测试结果。这里需要用到Python下的xmlrunner库。执行以下命令下载与安装xmlrunner。
pip install xmlrunner
百度冒烟测试脚本在通过TestSuite Runner运行homepagetests.py和searchtests.py两个脚本中的测试。最后用xmlrunner.XMLTestRunner来运行冒烟测试并生成JUnit测试报告。此报告以XML格式生成,保存在test-reports子文件夹中。代码如下:
生成的XML格式的report如下: