pytest+allure+jenkins持续集成及生成测试报告

news2025/4/22 15:41:01

目录

前言

一、jenkins安装

二、插件安装

 三、构建项目

四、查看运行结果

总结:


前言

前面,讲了“Pycharm+pytest+allure打造高逼格的测试报告”,但实际工作中,往往需要通过jenkins进行自动化测试用例的持续集成并自动生成测试报告。这样,我们的自动化测试环境才算完整了,下面来说说具体的安装配置步骤。

一、jenkins安装

jenkins官网下载地址:https://jenkins.io/zh/download/
这里小酋选择的版本为:Jenkins 2.204.1
windows环境直接运行解压的文件jenkins.msi,根据引导页面安装即可。不细说,如果不清楚的自行度娘。
注意:在安装最新jenkins之前,安装Java1.8及以上版本,否则可能会导致安装出错。

二、插件安装

1、安装插件 Allure Jenkins Plugin

在Jenkins的主界面中点击 Manage Jenkins > Manage Plugins,在可选插件中搜索“Allure”,在搜索结果页,选择“Allure”进行安装。

 2、安装插件 HTML Publisher

进入插件管理界面,选择“可选插件”->在右上角过滤编辑框中写入"HTML Publisher",按回车键,然后勾选HTML Publisher,点击直接安装

 安装时,勾选 安装完后重启Jenkins

重启后可在“插件管理”界面查看到已安装成功的插件和插件版本

 3、添加allure执行工具

下载allure压缩文件allure-commandline.zip ,解压并添加allure路径至path环境变量
具体如何安装参见 《Pycharm+pytest+allure打造高逼格的测试报告》 中 “安装allure”

4、在Jenkins的主界面中点击Manage Jenkins > Global Tool Configuration(全局工具管理)

 找到Allure Commandline安装 字样,点击新增 Allure Commandline

 点击后,在弹出下面的页面,输入Allure的命令别名和版本(这里我默认为最新版本号)后,点击 应用 和 保存

 三、构建项目

1、在Jenkins主界面点击 新建Item ,进入如下界面,建立 jenkins 持续集成项目, 这里选择 Freestyle project(自由风格的项目),按照步骤执行操作后点击 确定

 2、点击 确定 后进入Allure Report Project界面,分别配置“构建”和“构建后操作”

1)配置构建步骤:进入 Allure Report Project 界面,找到“构建”下方的“增加构建步骤”,下来选择 Excute Windows batch command

 2)输入如下配置步骤指令:

  注意:

jenkins执行命令,会把命令生成一个批处理文件执行,而pytest命令对于批处理来说是外部命令,所以要加call表示调用。而jenkins执行windows命令,若退出代码不为0 ,则jenkins会将构建标记为失败,所以需要加上exit 0表示执行完成退出
3)在构建后操作下拉一栏选择“Allure Report”,进入“Allure Report”界面,写入保存报告的路径名称“report”,如下图所示:

 最后点击应用,保存。
注意:这里为工作空间的相对路径,设置绝对路径没用(小酋折腾过,这也是下面4)步的原因);且相对路径名称和上面pytest命令保存测试报告的路径名称必须一致,不然会提示错误。

4)然后点击“General”标签页的“高级”按钮

 在展开的界面中点击勾选“使用自定义的工作空间”,目录输入框中输入用例文件放置的目录地址

 注意:allure报告文件必须生成在此job的空间之下,即 工作空间要与pytest命令运行的目录保持一致,否则结果展示不出来。

四、查看运行结果

在Jenkins界面点击“Build Now”,会在左下角出现进度条显示

 当进度条显示完成后,刷新下当前界面,可以在页面右侧看到运行结果,点击界面的“Allure Report”

 可查看该测试用例运行的详细情况

 注意,如果装有多python版本,一定要切换到当前测试项目所用的python版本,包括 系统环境 变量配置,且记着切换后重启jenkins,否则会报错:

error: unrecognized arguments: --alluredir我就是疏忽了,导致查了半天才发现是该问题(因为该版本没装allure-pytest),切记!!

总结:

感谢每一个认真阅读我文章的人!!!

我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家点击下方名片加入群聊免费领取,群里还有大佬帮忙解答问题,千万不要错过哦。

                                                               

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/639437.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

KW 喜报 | KaiwuDB 斩获 2023 数博会“优秀科技成果”奖

5月26日,大数据领域的国家级盛会——2023 中国国际大数据产业博览会(以下简称“2023 数博会”)在贵阳盛大开幕。作为大会最重磅的环节之一,“2023 领先科技成果发布会”于数博发布中心场地举办,向全行业发布 70 余项兼…

数据脱敏/换行/枚举的处理【EasyPoi实战系列】- 第474篇

历史文章(文章累计460) 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 【…

DDP分布式训练中遇到的一些问题

1:所有forward的输出必须参与到loss计算并回传 2:类似于layer_norm这样的操作是无需进行分布式通信的,也无法进行分布式通信,所以在DDP的时候必须把find_unused_parameters设置为True 3:当报错形式为如下时&#xff…

C语言之指针初阶(2)

目录 1. 指针是什么 2. 指针和指针类型 3. 野指针 4. 指针运算 5. 指针和数组 6. 二级指针 7. 指针数组 上次我们已经把前4个部分给大家讲完了,现在我们来讲一下后面三个部分 首先看数组和指针 指针和数组之间是什么关系呢? 指针变量就是指针变量&…

ELF文件结构和实战分析

文章目录 示例编译运行 ELF文件格式ELF HeaderELF Section Header Table (节头表)sh_typesh_flagssh_link、sh_info 节链接信息 ELF Sections节的分类.text节.rodata节.plt节(过程链接表).data节.bss节.got.plt节(全局偏移表-过程链接表&…

小黑和阿黄骑车逛了逛河堤,今天练完钢琴小汤3第5课后和小老黑吃拉面夜里准备天津小黄车骑行的leetcode之旅:567. 字符串的排列

小黑代码 class Solution:def checkInclusion(self, s1: str, s2: str) -> bool:# s1与s2的长度n_s1 len(s1)n_s2 len(s2)# 非法情况if n_s1 > n_s2:return False# 初始化差值向量count [0] * 26# 判断初始状态是否成立for i in range(n_s1):count[ord(s1[i])-97] - …

MySQL数据库 --- 高级篇

一、存储引擎 1.1、MySQL体系结构 1.1.1、连接层 最上层是一些客户端和链接服务,包含本地sock 通信和大多数基于客户端/服务端工具实现的类似于TCP/IP的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程池的概念,为…

Mybatis-Plus中update更新操作用法

目录 一、前言二、update1、关于修改的4个条件构造器2、UpdateWrapper【用法示例】3、LambdaUpdateWrapper【用法示例】4、UpdateChainWrapper【 用法示例】5、LambdaUpdateChainWrapper【 用法示例】6、updateById 和 updateBatchById7、Mybatis-plus设置某个字段值为null的方…

Fiddler Response私人订制,你知道多少

目录 前言 特定返回状态码的模拟 特定字段数据的模拟 修改“Customize Rules" 特定加密返回值的模拟 Fiddler的TextWizard 结束语 总结: 前言 在客户端接口的测试中,我们经常会需要模拟各种返回状态或者特定的返回值,常见的是用…

MySQL数据库 --- 基础篇

一、MySQL概述 1.1、数据库相关概念 名称全称简称数据库存储数据的仓库,数据是有组织的进行存储DataBase(DB)数据库管理系统操纵和管理数据库的大型软件DataBase Management、System (DBMS)SQL操作关系型数据库的编程语言,定义了…

【网络安全】深入解析 PHP 代码审计技术与实战

前言 登录某个网站并浏览其页面时,注意到了一些看起来不太对劲的地方。这些迹象可能是该网站存在漏洞或被黑客入侵的标志。为了确保这个网站的安全性,需要进行代码审计,这是一项专门针对软件代码进行检查和分析的技术。在本文中,…

从汇编代码探究函数栈帧的创建和销毁的底层原理

人,只有在放弃战斗的时候才算输,只要坚持战斗,就还没输 本文收录于青花雾气-计算机基础 往期回顾 从0到1搞定在线OJ 数据在内存中的存储 计算机存储的大小端模式 目录 一、先导知识 二、函数调用堆栈 三、函数栈帧的创建 1.创建函数…

计算机图像处理—HOG 特征提取算法

一、实验介绍 1. 实验内容 本实验将学习HOG 特征提取算法。 2. 实验要点 HOG 算法HOG 算法有效的原因创建 HOG 描述符HOG 描述符中的元素数量可视化 HOG 描述符理解直方图 3. 实验环境 Python 3.6.6numpymatplotlibcv2copy 二、实验步骤 简介 正如在 ORB 算法中看到的…

机器学习—支持向量机

练习5:支持向量机 介绍 在本练习中,我们将使用支持向量机(SVM)来构建垃圾邮件分类器。 在开始练习前,需要下载如下的文件进行数据上传: data.tgz -包含本练习中所需要用的数据文件 其中: e…

华为OD机试 JavaScript 实现【计算字符串的编辑距离】【牛客练习题 HJ52】,附详细解题思路

一、题目描述 Levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。编辑距离的算法是首先由…

后端(二):Servlet

我们上一张聊的是Tomcat,它其实就是一个 HTTP 服务器,而Servlet 是基于 Tomcat 的 原生api ,除了 Servlet,后面还有聊到很多 api 。 Servlet 是什么 Servlet(Server Applet)是Java Servlet的简称&#xf…

【知识点复习】结构体与共用体

结构体和共用体各有什么特点: 1、结构体中每一个成员都有自己的内存空间,计算结构体大小的时候要注意内部字节对齐; 32位占4字节,64位占8字节。 结构体访问成员:点降级访问 2、共用体又叫联合体union,每一…

我的256创作纪念日

机缘 挺开心的,想到自己未曾写过一些非技术类的博客,恰巧今天刚好也是我的256创作纪念日,就乘着这个日子,写一点自己过去的收获、内心的想法和对未来的展望吧。 本人不才,只就读于一所民办本科之中,我挺不想…

ASCON:以“慢而稳”赢得NIST轻量级加密算法标准

1. 引言 自2016年以来,NIST一直在评估轻量级加密方法,并于2022年发布了入围决赛的10种轻量级加密算法: ASCONElephantGIFT-COFBGrain128 AEADISAPPhoton BeetleRomulusSparkleTinyJambuXoodyak 在评估过程中,NIST重点关注&#…

使用Python把文件夹里面的图片放入一个pdf

文章目录 背景介绍代码代码分析展示 背景介绍 在看一位up主的“矩阵分析”课程的时候,up主的课件是以图片形式保存在QQ空间的。图片形式不便于学习,所以想要通过Python代码,把保存在“矩阵分析课件”里面的图片,转换为pdf&#x…