news 2026/6/10 12:59:37

Pytest集成Allure生成测试报告「Jenkins+Allure插件方案

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Pytest集成Allure生成测试报告「Jenkins+Allure插件方案

接上文,我们说到我们有两个方案:

  • Allure服务器管理方案
  • Jenkins-Allure插件方案

本文中,以Jenkins+Allure插件方案,若有需求去看Allure服务器管理方案,可自行去本人其他文章中翻,感谢~

背景

抛出问题:

环境要求

Jenkins配置

安装插件

  1. 登录到 Jenkins 服务器。
  2. 导航到 管理 Jenkins > 管理插件。
  3. 在 可用 标签页中,搜索 “Allure Jenkins Plugin”。
  4. 选择插件后点击 安装后重启。

在构建项目中使用 Allure

  1. 打开你的 Jenkins 项目,点击 配置。
  2. 在构建环境设置中,找到 增加构建后操作,选择 Allure Report。
  3. 配置 Allure 报告的生成,包括结果目录和报告目录。
  4. 保存。

代码配合

在上面我们已经添加好Allure的构建后操作,但是配置毕竟是配置,还是需要和我们的代码相匹配上的,因此在这里我们确认一下我们的代码是否与jenkins配置所匹配。

我的config配置文件,我是将这些路径配置写在配置文件中

# 项目根目录 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # allure报告目录 REPORT_FILES = BASE_DIR + '/report'

代码调用,带上–alluredir参数并将allure生成的报告存放在此目录中,与jenkins形成匹配关系

args = [f"--alluredir={config.REPORT_FILES}/json/", f"--clean-alluredir",] pytest.main(args)

运行结果

在上述Jenkins和代码我们都配置完毕之后,运行结束之后,在Jenkins运行结果之后就会出现一个构建后置操作的Allure Report的图标,点进去就可以看到allure样式的测试报告,如图:


点进去就可以看到完整的Allure测试报告了

自动化代码

在最后,我们可以想尽办法去优化最后一波。比如:能不能让自动化报告运行结束之后,做个简单汇总输出测试通过率,并且把测试报告的链接附带上,毕竟没有人会闲着没事一天到晚蹲在Jenkins面前,开搞!

Jenkins-Allure报告的链接逻辑

在这里我们观察到Allure报告的链接地址,无非就是 https://{IP}:{端口}/job/{job名称}/{构建number}/allure这个样式组成的,如图

那我们在代码里就这样写:

def get_jenkins_info(): jenkins_info = argparse.Namespace( job_name=os.getenv('JOB_NAME', 'DefaultJobName'), build_number=os.getenv('BUILD_NUMBER', '0'), build_url=os.getenv('BUILD_URL', 'http://defaulturl/'), node_name=os.getenv('NODE_NAME', 'DefaultNode'), workspace=os.getenv('WORKSPACE', '/default/workspace'), build_user=os.getenv('BUILD_USER_ID', 'NA') ) # 日志记录环境信息 logger.info(f"{jenkins_info}") return jenkins_info jenkins_info = get_jenkins_info() report_url = f"{config.JENKINS_WORK}/{jenkins_info.job_name}/{jenkins_info.build_number}/allure/"

如此,就可以将allure的测试报告链接输出出来了,至于文章上述的常量就懒得贴了,自行补全。至此,大功告成!

结语

通过 Jenkins 的 Allure 插件,我们不仅能自动化生成详细的测试报告,还能将这些报告整合入我们的 CI/CD 流程中,从而提高软件质量和开发效率。

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 8:14:57

写简历用什么软件

在 2026 年的求职环境下,“用什么软件写”其实是一个关于“谁是你的第一读者” 的策略问题。现在的真相是:你的简历在被 HR 看到之前,必须先通过 ATS(申请人追踪系统) 的算法扫射。 如果你选错了工具,导致排…

作者头像 李华
网站建设 2026/6/10 8:21:06

C3/5怎么指定信道,带宽,发送自定义内容?

这个问题已经进入 Wi-Fi PHY/MAC 控制层 帧注入 调度控制 的范畴了,我直接给你一套工程上可行、在 ESP32-C3 / C5 上能落地的方案框架。 ⚠️先说明:下面讲的是协议测试 / 抗干扰 / 私有协议 / 安全研究层面的能力,不涉及实际攻击指导。 …

作者头像 李华
网站建设 2026/6/10 8:16:48

Python:(一)变量、类型与 f-string —— 数据的载体

目录 1. 变量 (Variables):给数据贴标签 命名规范(ML 领域的潜规则) 2. 四大核心数据类型 (The Core Types) A. Float (浮点数) —— ML 的绝对主角 B. Int (整数) —— 计数器 C. Bool (布尔值) —— 逻辑开关 D. String (字符串) —…

作者头像 李华
网站建设 2026/6/10 8:18:47

DODAP,CAS号:127512-29-2,二油酰基-3-二甲基氨基丙烷

DODAP,CAS号:127512-29-2,二油酰基-3-二甲基氨基丙烷 DODAP(N,N-dioctadecyldimethylammonium Propane Sulfonate)是一种常见的阳离子表面活性剂,广泛应用于药物递送、基因传递、纳米技术以及生物医学领域…

作者头像 李华
网站建设 2026/6/10 8:05:59

计算机等级考试—E-R 图符号对照表—东方仙盟练气期

E-R 图符号对照表 图形符号名称含义你的图中例子▭(单矩形框)强实体可以独立存在,拥有唯一主键的实体代购员、配送员、商品、顾客、托运公司▭▭(双矩形框)弱实体必须依赖其他强实体才能存在,自身没有完整…

作者头像 李华