【Python自动化】之运用Git+jenkins集成来运行展示pytest+allure测试报告
目录:
一、安装allure
# 安装allure
brew install allure
安装完之后,查看是否成功!
# 查看allure版本
allure --version
二、生成allure报告
1、安装allure-pytest插件
为什么要安装这个呢,因为需要与pytest集成,能够在pytest运行完成之后,生成allure的文件
# 安装allure-pytest
pip install allure-pytest
2、生成报告
代码目录结构
新建report报告目录,然后运行test_v2ex_api2.py文件生成报告在report里。
# 运行文件并且在report目录下生成报告文件
pytest test_v2ex_api2.py --alluredir ./report/
3、打开报告
# 打开report目录下的报告
allure serve ./report
运行完命令之后自动打开报告地址,如下所示:
4、另一种生成allure报告
上一种报告生成时,命令行还在一直运行中,只有停止运行才能继续写命令,下面这种是直接生成index.html文件,直接本地打开即可。
# 运行下面的命令,会自动生成allure-report目录
allure generate ./report
生成的报告不需要命令行一直运行:
选中index.html文件,右键【Open in Browser】打开浏览器:
如果下次再运行的时候一定加上“--clean”
# 再一次生成报告
allure generate ./report --clean
但是有一个问题,report目录下的报告文件数量会越来越多
查看报告得知,会显示历史记录,估计可能是展示这个用的吧
三、结合jenkins来集成pytest+allure 返回目录
1、首先去jenkins插件网站上下载allure插件最新版本:
http://mirrors.jenkins-ci.org/plugins/allure-jenkins-plugin/
2、打开jenkins,在系统管理 —> 插件管理 —>Advanced —> Upload Plugin
下载的.hpi的文件上传至jenkins上
安装插件
安装成功
3、在jenkins 全局工具当中配置allure命令行
在 系统管理 —> 全局工具配置 —> 当中做以下配置(allure和jdk),配置完并保存:
①配置jdk
# 搜索java路径 which java @:/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/bin/java
②配置allure
# 查看brew安装的allure目录
brew list allure
③新建jenkins项目
④配置allure报告
# shell命令
cd /Users/zhangc/Desktop/GitTest/project_Buger_2/Pytest
pytest test_v2ex_api2.py --alluredir ./report/
# allure generate ./report --clean 不用这行
exit 0 # <==必须加上这个否则会报错
⑤加上工作目录
不加上的话,否则生成的报告会为空的。
⑥自动构建并查看生成的报告
查看报告!!!
四、结合Git集成Jenkins+Pytest+Allure测试报告 返回目录
1、配置git地址
2、执行shell并配置allure报告路径
cd /Users/zhangc/.jenkins/workspace/Pytest+Allure+Jenkins+Git集成/Pytest
rm -rf ./report/*
# ①一种写法
pytest test_v2ex_api.py --alluredir ${WORKSPACE}/Pytest/report
# ②另一种写法
pytest test_v2ex_api.py --alluredir ./report
exit 0
3、易错地方
五、附录 返回目录
*** 只是看了看
**** 参考了一点
***** 参考很多
①感谢五娃儿的文章:《Mac+Python3.6.5 + Pytest3.8.0 + Allure2.7 环境搭建》***
②感谢minluoying的文章:《Mac os + pytest + allure》****
③感谢幸运球与倒霉蛋的文章:《pytest+allure+jenkins持续集成》*****
④感谢Believer的文章:《Pytest单元测试框架——Pytest+Allure+Jenkins的应用》*****
⑤感谢tang.yongyue的文章:《Mac+Pytest+Allure+Jenkins常见问题汇总》***
⑥感谢wuwei丶的文章:《Python+Pytest+Allure+Git+Jenkins接口自动化框架》 ****
⑦感谢月月0001的文章:《jenkins+pytest+allure+git环境搭建》*****
【Python自动化】之运用Git+jenkins集成来运行展示pytest+allure测试报告的更多相关文章
- Jenkins集成taffy进行自动化测试并输出测试报告
本文主要介绍Jenkins集成taffy/nose框架进行自动化测试并输出测试报告方法. 0. 测试环境 Jenkis主节点部署在CentOS系统上,子节点为Win10 64位系统(即我们本机运行自动 ...
- python自动化运维篇
1-1 Python运维-课程简介及基础 1-2 Python运维-自动化运维脚本编写 2-1 Python自动化运维-Ansible教程-Ansible介绍 2-2 Python自动化运维-Ansi ...
- Python+Pytest+Allure+Git+Jenkins接口自动化框架
Python+Pytest+Allure+Git+Jenkins接口自动化框架 一.接口基础 接口测试是对系统和组件之间的接口进行测试,主要是效验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系. ...
- Jenkins(3)拉取git仓库代码,执行python自动化脚本
前言 python自动化的脚本开发完成后需提交到git代码仓库,接下来就是用Jenkins拉取代码去构建自动化代码了 新建项目 打开Jenkins新建一个自由风格的项目 源码管理 Repository ...
- [python]Pytest+selenium+git+jenkins持续集成
1安装pytest框架 &pip install pytest #pytest &pip install pytest-html #pytest html测试报告 2.工程介绍 ...
- flow.ci + Github + Slack 一步步搭建 Python 自动化持续集成
理想的程序员必须懒惰,永远追随自动化法则.Automating shapes smarter future. 在一个 Python 项目的开发过程中可能会做的事情:编译.手动或自动化测试.部署环境配置 ...
- git jenkins 基本部署 jenkins持续集成
1.什么是持续集成? 持续集成来简化我们的工作 还能让产品可以快速迭代,同时还能保持代码高质量产出.2.Jenkins的安装配置: [root@jenkins ~]# yum inst ...
- Docker + Jenkins + Gitlab + Pytest + Allure 接口自动化测试之持续集成实战终极教程
实战教程篇 前言 这边就不教大家怎么用 pytest 写项目了哦,下面有系列文章能帮助你快速入门 Pytest + Allure 这一篇教程主要是教如何从 0 到 1 搭建自动化测试的持续集成环境 后 ...
- Docker+jenkins 运行 python 自动化
一.实现思路 在 Linux 服务器安装 docker 创建 jenkins 容器 根据自动化项目依赖包构建 python 镜像(构建自动化 python 环境) 运行新的 python 容器,执行 ...
- linux服务器中Jenkins集成git、Gradle持续构建Springboot项目
Jenkins是用java编写的开源持续集成工具,目前被国内外各公司广泛使用.本章教大家如何在linux服务器中使用Jenkins自动发布一个可作为linux服务发布的Springboot项目. 自动 ...
随机推荐
- Linux系统的硬件信息
查看Linux系统的硬件信息 [1]查看内核信息 uname 用于显示系统的内核信息 option -s:显示内核名称 -r:显示内核版本 [root@bogon /]# uname -a Linux ...
- Spring里面bean的依赖和继承
继承 bean继承:两个类之间大多数的属性都相同,避免重复配置,通过bean标签的parent属性重用已有的Bean元素的配置信息 继承指的是配置信息的复用,和java类的继承没有关系 video.j ...
- MyBatis-Plus 整理
# 前言 代码生成器插件选择去这里:https://www.cnblogs.com/zixq/p/16726534.html 相关插件在那里面已经提到了 # 上手 MyBatis-Plus 是一个 M ...
- acwing 875
acwing875 题目大意:快速幂模板题 Train of thought 此题如果采用暴力的做法时间复杂度为0(n*b); n为样例的数目,b是幂 我们想要优化暴力的做法,首先样例的数量是没有办法 ...
- 全网最适合入门的面向对象编程教程:02 类和对象的Python实现-使用Python创建类
全网最适合入门的面向对象编程教程:02 类和对象的 Python 实现-使用 Python 创建类 摘要 本文主要介绍了串口通信协议的基本概念.串口通信的基本流程.如何使用 Python 语言创建一个 ...
- 通俗讲解promise
JavaScript 中的 Promise 是一种特殊的对象,它用于解决异步编程中的复杂性问题,特别是回调的问题.我们可以把它比喻成现实生活中的一个"承诺": 想象一下,你 ...
- 免费CDN使用整理
免费CDN使用整理 最近在使用web优化的时候,需要用到cdn,遇到了一些问题,比如某些cdn在特定的条件下访问不同,整理一波免费的CDN,任君采撷 名称 国家 链接 测速 特色 UNPKG 国外 h ...
- 基于Java“萌宠之家”宠物综合服务平台设计实现(源码+lw+部署文档+讲解等)
\n文末获取源码联系 感兴趣的可以先收藏起来,大家在毕设选题,项目以及论文编写等相关问题都可以给我加好友咨询 系统介绍: 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面 ...
- Java JVM——13. 垃圾回收相关算法
1.生存还是死亡? 在堆里存放着几乎所有的 Java 对象实例,在 GC 执行垃圾回收之前,首先需要区分出内存中哪些是存活对象,哪些是已经死亡的对象.只有被标记为己经死亡的对象,GC 才会在执行垃圾回 ...
- Jmeter函数助手5-RandomFromMultipleVars
RandomFromMultipleVars函数用于获取指定变量的随机变量值. Source Variable(s) (use | as separator):传入指定的变量名称,这里的变量可以是单值 ...