pytest + allure + jenkins 生成漂亮的测试报告
pytest我在上一篇文章初始pytest中已有介绍,是一个很理想的Python测试框架。Allure 是一款非常轻量级并且非常灵活的开源测试报告生成框架。 它支持绝大多数测试框架, 例如TestNG、Pytest、JUint等。它简单易用,易于集成。Jenkins不必多说,说一个很强大的CI工具,那么pytest +allure + jenkins,何乐不为呢?
一、jenkins配置
1. 安装插件
- HTML Publisher plugin
- Allure Jenkins Plugin
2. Allure Commandline 配置
“全局工具配置”页面找到Allure Commandline,进行如下配置:
![](http://upload-images.jianshu.io/upload_images/6536777-73a35258797c9d2e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/724/format/webp)
image.png
3. Job配置
3.1创建一个自由风格的软件项目,如建一个名称为 pytest allure 的 Job。
3.2 使用自定义的空间(即后面的${workspace}):
![](http://upload-images.jianshu.io/upload_images/6536777-7fe617a4d960479b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/565/format/webp)
image.png
3.3 配置构建步骤
![](http://upload-images.jianshu.io/upload_images/6536777-8552b0a3041e7c4b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/960/format/webp)
image.png
构建以上job时,如果脚本最后不加上 exit 0,pytest命令虽然执行成功,但构建结果失败,报错如下:
Build step 'Execute Windows batch command' marked build as failure
![](http://upload-images.jianshu.io/upload_images/6536777-c14823a6da286b19.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/502/format/webp)
image.png
原因:jenkins执行windows命令时,若退出代码不为0 ,则jenkins会将构建标记为失败。
exit 0 1 2...这个是退出码,就像编写程序最后return 0一样,我们可以通过设置不同的退出码来提示用户脚本运行到那一步退出的,一般情况下,0代表正确执行后退出,非0代表多多少少有问题。
3.4 配置构建后操作
![](http://upload-images.jianshu.io/upload_images/6536777-fa22b9f78d466d2f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000/format/webp)
image.png
![](http://upload-images.jianshu.io/upload_images/6536777-ed9c1c93bb9b2f8c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000/format/webp)
image.png
allure结果路径需要和构建步骤中相统一:
![](http://upload-images.jianshu.io/upload_images/6536777-eafe4565f0c60b39.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000/format/webp)
image.png
我们还可以再加上构建后发邮件配置,此处不再赘述。
二、执行Job查看构建结果
![](http://upload-images.jianshu.io/upload_images/6536777-6c594528850ac5b5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000/format/webp)
总览图.png
![](http://upload-images.jianshu.io/upload_images/6536777-d1f6ef1349b3663a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000/format/webp)
pytest-html 报告.png
![](http://upload-images.jianshu.io/upload_images/6536777-a1dfa03cfe1d64b7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000/format/webp)
allure 报告.png
作者:呆呆冬
链接:https://www.jianshu.com/p/200601e444a8
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。