news 2026/4/20 7:11:57

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/4/18 9:11:02

学术诚信新防线:paperzz 论文查重为你的科研成果保驾护航

Paperzz-AI官网免费论文查重复率AIGC检测/开题报告/文献综述/论文初稿 paperzz - 论文查重https://www.paperzz.cc/checkhttps://www.paperzz.cc/check 当你终于完成论文初稿,却在提交前陷入 “重复率会不会超标” 的焦虑;当导师提醒你 “引用格式不规范…

作者头像 李华
网站建设 2026/4/17 17:34:28

JAVA驱动未来:充电桩物联网新能源系统构建

JAVA通过高并发处理、设备通信协议支持、微服务架构及全栈开发能力,成为构建充电桩物联网新能源系统的核心技术,有效提升了系统智能化水平、用户体验和运营效率。以下是具体分析: 一、技术实现:JAVA的核心支撑能力 高并发通信框…

作者头像 李华
网站建设 2026/4/18 1:34:25

探秘JAVA:电动车充电桩物联网系统创新源码

JAVA通过高并发处理、设备通信协议支持、微服务架构及全栈开发能力,为电动车充电桩物联网系统提供了核心技术支持,以下从系统架构、核心功能、技术实现、创新实践四个维度解析其创新源码逻辑:一、系统架构:四层设计保障高可用性感…

作者头像 李华
网站建设 2026/4/18 5:40:03

2026家居营销的终局:AI智能体矩阵驱动指数级增长

引言:迎接家居行业的"iPhone时刻" 2026年,我们正站在一个由生成式AI开启的全新营销范式之中。这场变革的深度与广度,堪比智能手机问世所带来的"iPhone时刻",它彻底颠覆了品牌与消费者沟通的底层逻辑。对于家…

作者头像 李华