Python+Pytest框架在Jenkins上生成Allure测试报告( 二 )


Python+Pytest框架在Jenkins上生成Allure测试报告

文章插图
 
除了上面这些装饰器以外,allure测试报告中几乎支持手工测试用例的所有要素,比如操作步骤,预置条件,后置操作,附件截图等等 。大家可以自己尝试一下,其他要素我们后续再讲 。
高级篇--持续集成
在企业应用中,自动化测试往往需要频繁执行,比如每隔一小时自动执行测试一次 。执行完成后应该发邮件提醒tester,tester只需要打开邮件就可以看到生成的测试报告 。这又是怎么做的呢?
第一步,准备环境,大家前面应该已经安装过jdk了,我们从Tomcat官网下载最新的tomcat9,Jenkins官方网站下载最新的war包;也可以从我前面分享给大家的网址下载:https://pan.baidu.com/s/1YkgYpvfmH_I26ZPAJ1OF0A 。
1.安装jdk
2.解压tomcat
3.复制jenkins.war到tomcat的webApps目录下
4.双击打开bin目录下面的startup.bat,这时会打开一个dos窗口,注意永远不要关闭这个窗口,否则就不能访问jenkins网站了 。
5.等1分钟左右,打开浏览器,输入网址http://localhost:8088/jenkins/,多刷新几次,直到看到下图
Python+Pytest框架在Jenkins上生成Allure测试报告

文章插图
 
6.根据网页中的提示,用记事本打开提示C:Users.......jenkinssecrets文件夹中的文件initialAdminpassword 。
7.复制文件中的内容到'管理员密码'输入框中
8.点下一步
9.在custom jenkins页面选择suggested jenkins plugin(安装推荐的插件) 。
Python+Pytest框架在Jenkins上生成Allure测试报告

文章插图
 
10.等所有的插件下载好以后, 设置用户名和密码 。
11.登录进入主界面 。
第二步,进入到jenkins主界面以后,我们来创建第一个jenkins任务 。
1.在主页点击"新建"
2.选择自由风格的软件项目
3.点击general配置中的'高级',选择'自定义工作空间',设置成你的项目路径,比如我的项目在这个路径中C:Users51TestingPycharmProjectschangcheng 。
4.在构建触发器中,选择window批处理程序,在jmeter输入框中,输入pytest -s -q 。
Python+Pytest框架在Jenkins上生成Allure测试报告

文章插图
 
5.勾选定时构建,输入0 18 15 6 1,表示测试用例将在6月15日星期一晚上18点正执行一次,这里可以写5个数字,每个数字之间用空格间隔 。分别表示:分钟、小时、日期几号、几月和星期几 。除了数字,也可用特殊符号表示时间:星号*代表所有有效取值、横线-表示从几到几、除号/表示间隔时间、逗号表示枚举 。例如,要想每天晚上18点执行一次,可以写0 18 * * * 。大家可以自行尝试,设置各种时间间隔 。
第三步,Jenkins集成allure测试报告 。
1.先安装Allure插件 。打开Jenkins,首页点击'系统管理' 。
2.选择'插件管理' 。
3.选择'可选插件',搜索输入框输入Allure,搜索出来的名字就叫Allure,当安装后名字会变为Allure Jenkins Plugin 。
4.jenkins配置页,选择'全局工具配置' 。
5.全局工具配置页下拉到最后一项,你会看到'Allure Commandline'项, 按下图配置之后保存即可 。
6.在构建触发器中,选择window批处理程序,在jmeter输入框中,把前面输入的pytest -s -q改成call pytest -s -q --alluredir ./allure-xml 。
Python+Pytest框架在Jenkins上生成Allure测试报告

文章插图
 
7.在'构建后操作'(Post-build Actions)中选择allure report,输入Path名称allure-xml,这里的path名称表示在项目根目录下生成此文件夹,文件夹用来保存生成html报告之前的中间测试结果 。
Python+Pytest框架在Jenkins上生成Allure测试报告

文章插图
 
8.点击'保存',点击'立即构建' 。
9.运行结束后,点击'Allure Report',展示图如下:
Python+Pytest框架在Jenkins上生成Allure测试报告

文章插图
 
这样我们就完成了pytest + allure + jenkins 的集成配置 。更多jenkins高级功能,请期待我的后续文章 。

【Python+Pytest框架在Jenkins上生成Allure测试报告】


推荐阅读