pytest系列(四)- pytest+allure+jenkins - 持续集成平台生成allure报告
pytest是什么
pytest是python的一款测试框架,拥有unittest的功能并比它更丰富。
allure是什么
有非常多的优秀的测试框架,但却是有非常少优秀的报告工具可以展示非常清楚的用例执行过程和结果。
allure是一款开源的,专门用来展示测试结果的工具,目的是希望团队内部每一个人都可以看到非常清楚的测试结果。
allure可以与非常多的著名测试框架做集成。
像java语言,可以与junit4,junit5,TestNG测试框架集成。
python语言,可以与pytest,behave,nose测试框架集成。
allure会将测试用例的执行数据保存到xml文件当中,再利用allure的命令行将文件转换成html形式呈现出来。
allure的官方地址:http://allure.qatools.ru/
安装allure命令行
官网提供了每个平台的,命令行安装方式。
以下是手动安装方式,适用于各平台:
1、从Maven Center下载最新的安装包:
http://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/
目前是2.12.1的版本。
2、将包解压到任何一个目录。建议不要选C盘或者路径很深的。比如D:\allure-command-2.12.1
3、跳转到解压后的bin目录下面,windows下执行allure.bat。其它平台执行allure.
4、配置allure的环境变量:



5、在命令行当中运行allure —version。


allure与pytest的集成
在allure安装完成之后,需要与pytest集成,能够在pytest运行完成之后,生成allure的文件 。
1、安装pytest的allure支撑插件。
pip命令行:pip install allure-pytest
2、在执行pytest命令时,添加allure命令参数:—alluredir=Outputs/allure (相对于pytest命令所在目录的测试报告目录)
if __name__ == '__main__':
pytest.main(["-s","-v","--html=Outputs/reports/pytest.html",
"--alluredir=Outputs/allure"]) # allure文件生成的目录
3、等待pytest执行完所有的测试用例,在Outputs/allure下会生成一些文件。


在cmd命令行当中,执行:allure serve 测试结果文件目录,就会生成漂亮的html报告。




allure与jenkins的集成
allure与jenkins集成之后,可以直接在jenkins上,直接查看到上图的allure结果。
并因为jenkins的构建记录都存在,所以可以看到历史构建曲线图,用例数的变化、通过率的变化、耗时的变化等均可查看到。
集成步骤如下:
1、在jenkins上安装allure插件。
Step1: 去jenkins插件网站上下载allure插件最新版本:
http://mirrors.jenkins-ci.org/plugins/allure-jenkins-plugin/
Step2: 打开jenkins,在系统管理 —> 插件管理 —>Advanced —> Upload Plugin
上传.phi格式的插件,点击[上传]操作。


会自动跳转到以下页面。此处黄色球的提醒是指:此插件已经安装了,jenkins需要重启使此更新生效。
若是第一次安装,应该是蓝色球。
可将jenkins服务重新重启,使安装的插件生效。


2、在jenkins 全局工具当中配置allure命令行。
在 系统管理 —> 全局工具配置 —> 当中做以下配置(allure和jdk),配置完并保存:




3、在Job当中,配置allure报告展示:




针对以上,我对job做了以下调整:
1、将当前job的工作空间调整为,我的pytest用例所在工程目录:


2、在build当中,直接执行1中目录下的python文件(包含了pytest生成allure报告的命令)


配置完成之后,立即构建此工程。连续构建几次,有了历史记录之后




pytest系列(四)- pytest+allure+jenkins - 持续集成平台生成allure报告的更多相关文章
- 基于Kubernetes/K8S构建Jenkins持续集成平台(上)-1
基于Kubernetes/K8S构建Jenkins持续集成平台(上)-1 Jenkins的Master-Slave分布式构建 什么是Master-Slave分布式构建 Jenkins的Master-S ...
- 基于Kubernetes/K8S构建Jenkins持续集成平台(上)-2
基于Kubernetes/K8S构建Jenkins持续集成平台(上)-2 Kubernetes实现Master-Slave分布式构建方案 传统Jenkins的Master-Slave方案的缺陷 Mas ...
- 基于Kubernetes/K8S构建Jenkins持续集成平台(下)
基于Kubernetes/K8S构建Jenkins持续集成平台(下) Jenkins-Master-Slave架构图回顾: 安装和配置NFS NFS简介 NFS(Network File System ...
- Jenkins持续集成企业实战
阅读目录: Jenkins持续集成企业实战1.1 目前主流网站部署的流程1.2 Jenkins持续集成简介1.3 Jenkins持续集成组件1.4 Jenkins平台安装部署1.5 Jenkins相关 ...
- Jenkins持续集成企业实战系列之Jenkins插件下载及邮件配置-----05
注:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任. 最初接触Jenkins也是由于公司需求,根据公司需求Java代码项目升级的.(公司是 ...
- Jenkins持续集成企业实战系列之Jenkins手动构建-----04
注:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任. 最初接触Jenkins也是由于公司需求,根据公司需求Java代码项目升级的.(公司是 ...
- Jenkins持续集成企业实战系列之Jenkins配置演示-----03
注:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任. 最初接触Jenkins也是由于公司需求,根据公司需求Java代码项目升级的.(公司是 ...
- Jenkins持续集成企业实战系列之Jenkins持续集成简介及安装-----02
1. Jenkins持续集成简介 注:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任. 最初接触Jenkins也是由于公司需求, ...
- Jenkins持续集成企业实战系列之两种网站部署的流程-----01
注:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任. 最初接触Jenkins也是由于公司需求,根据公司需求Java代码项目升级的.(公司是 ...
随机推荐
- require.context批量引入文件
require.context 是什么 require.context 是由webpack内部实现,require.context在构建时,webpack 在代码中进行解析. 当需要引入文件夹内多个文 ...
- JS系列:js节点
节点(node) 在html文档中出现的所有东西都是节点 元素节点(HTML标签) 文本节点(文字内容) 注释节点(注释内容) 文档节点(document) … 每一种类型的节点都会有一些属性区分自己 ...
- Nginx(一)--nginx的初步认识及配置
什么是Nginx 是一个高性能的反向代理服务器正向代理代理的是客户端反向代理代理的是服务端 Apache.Tomcat.Nginx 静态web服务器jsp/servlet服务器 tomcat 安装Ng ...
- Lua-Async 协程的高级用法
Lua-Async 这是一个基于协程的异步调用库, 该库的设计思路类似JavaScript的Promise, 但相比Promise, 它有更多的灵活性. -- 引入Async local Async ...
- salt
更新于 3.25 23:16 salt简介 SaltStack是一个服务器基础架构集中化管理平台,具备配置管理.远程执行.监控等功能,基于Python语言实现,结合轻量级消息队列(ZeroMQ)与Py ...
- GoLand不同目录(包)方法调用
新手学go,跨目录调用方法是真的难,弄了好几天,几乎要放弃go了,在此演示一下如何跨目录(包)调用~ 需求是main.go调用model包下mysql.go中Query方法,目录结构如下. 要点: 1 ...
- eclipse 导入别人拷贝过来的工作空间项目
切换自己的工作空间 File --> Import --> Existing Project into Workspace --> 选择项目根目录 --> 确定 如果你的ecl ...
- 视频剪辑什么鬼?Python 带你高效创作短视频
阅读文本大概需要 10 分钟. 近两年,抖音.快手将短视频推到风口浪尖上,要生产出高质量的视频,离不开视频剪辑这一环节:在全民剪片浪潮中,大众使用最多的剪辑软件如:Pr.FCPX.剪印.Vue 等. ...
- C#中提示:当前上下文中不存在名称“ConfigurationManager”
场景 想要在程序中获取App.config中设置的内容. 想要通过 ConfigurationManager.AppSettings[key]; 来进行获取,已经添加 using System.Con ...
- 腾讯云推出一站式 DevOps 解决方案 —— CODING DevOps
在产业互联网的大背景下,如何将人工智能.大数据等前沿技术与实体产业相结合,推动传统企业转型升级,已经成为每一个企业不得不思考的问题.落后的软件研发能力已经拖慢了中国大量企业的数字化转型进程. 为了满足 ...