Jenkins结合allure生成测试报告

本文介绍了如何在Jenkins服务器上安装和配置Allure报告工具,包括服务端的环境变量设置、Jenkins端的插件安装及项目配置,以及代码中的Allure生成报告的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:
我们在做自动化测试的过程中最重要的肯定是报告的输出啦,最近几年allure可以说是最最主流报告展示工具啦。

一、服务端安装allure

在安装Jenkins的机器 安装allure,我们在Jenkins上能跑动前提是在对应服务器上代码能正常运行,这是最基本的
1、下载安装allure
官方下载地址,下载好后上传到对应的服务器上解压。

https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/

2、配置allure环境变量
vim /etc/profile 添加allure路径配置
在这里插入图片描述

export allure_path=/usr/local/allure-2.21.0
export PATH=$PATH:$allure_path/bin

3、source /etc/profile
4、查看是否安装成功

在这里插入图片描述
5、pip install allure-pytest
全部安装完毕后呢,在终端开发python,输入执行不报错即使安装成功。
在这里插入图片描述

二、Jenkins端配置allure报告

1、安装allure
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
输入allure自行进行安装。
2、在我们原本的项目中配置allure

重新配置上次我们新建的项目,点击构建后操作,选择allure.
第一个路径是生成报告的json文件路径,注意这里是绝对路径哦,但是我们在代码中可不能配置绝对路径,代码部分后面博主会说。
在这里插入图片描述
点击下方的高级,这个路径是报告生成的路径,一般自动在项目的根目录生成。
在这里插入图片描述

三、代码端的配置

可以看到在Jenkins上跑的运行代码与在本地的还有有差距的。
在Jenkins上运行少了一步,根据json文件生成报告的步骤,这一步Jenkins会帮我们完成。

# python运行用例生成报告方法
    # pytest.main()
    # os.system(r'allure generate D:\python_study\request-unittest\testCase\test_report\report '
    #          r'-o D:\python_study\request-unittest\test_report --clean')
    # 结合Jenkins运行用例生成报告方法
    pytest.main(['--alluredir', '/root/.jenkins/workspace/this_is_one_project/target/allure-results'])
    os.system(r'/usr/local/allure-2.21.0/bin/allure '
              r'generate /root/.jenkins/workspace/this_is_one_project/target/allure-results --clean')
# /usr/local/allure-2.21.0/bin/allure 这个博主写的是allure的绝对路径,因为在Jenkins执行任务的时候一直在报找不到allure命令,虽然我已经配置的allure的环境变量,但还是不行,这里博主最后只有写出这个命令的绝对路径来运行命令了。
# /root/.jenkins/workspace/this_is_one_project/target/allure-results 正如上面所说,Jenkins会生成json报告文件目录,但是我们在代码上需要写上绝对路径,不然Jenkins会一直报 找不到target/allure-results路径。

将代码提交到git上我们运行项目。可以看到运行成功啦,测试报告就完成啦。
在这里插入图片描述

<think>嗯,用户想了解如何在Jenkins流水线中生成Allure报告来展示pytest的测试结果。首先,我需要回忆一下整个流程的步骤,确保每个环节都正确。 首先,得确认用户已经安装了必要的工具。比如,pytest肯定是需要的,还有allure-pytest插件,这样测试时才能生成Allure所需的报告数据。可能还需要在项目中配置pytest的allure选项,指定生成的路径,比如--alluredir=./allure-results。 接下来是Jenkins部分。Jenkins需要安装Allure插件,这样才能在构建后处理报告。用户可能已经安装了Jenkins,但如果没有Allure插件的话,得指导他们去插件管理那里安装。然后,在Jenkins的Job配置里,构建后的步骤中添加Allure Report,指定结果目录,这样Jenkins才知道从哪里获取数据生成报告。 然后是流水线脚本的部分。用户可能用的是声明式流水线,所以需要在Jenkinsfile里编写相应的步骤。比如,在agent部分指定运行环境,stages里包含安装依赖、运行测试的步骤,最后post部分添加always中的allure命令来发布报告。这里要注意路径是否正确,是否和pytest中设置的--alluredir一致。 另外,可能还需要考虑环境变量或者依赖的问题。比如,是否需要提前安装Allure命令行工具?在Jenkins服务器上是不是已经配置好了?如果用户遇到报告无法生成的问题,可能需要检查路径、权限,或者查看测试是否真的生成了结果文件。 还有,用户可能希望报告能自动清理旧的数据,避免占用过多空间。这时候可以在pytest命令里加上--clean-alluredir参数,或者在Jenkins的构建后步骤中配置删除旧文件。 最后,测试一下整个流程是否正确。运行流水线后,查看是否有Allure报告的链接出现,点击链接是否能正确展示测试结果,包括用例通过率、失败详情等。如果有错误,需要根据日志排查,比如测试是否执行成功,报告路径是否正确,插件是否安装等。 可能需要提醒用户常见的问题,比如Allure插件未安装导致报告无法生成,或者路径配置错误导致找不到结果文件。另外,确保Jenkins有权限访问生成报告的目录,避免权限问题。 总结一下,整个流程分为准备环境、配置Jenkins、编写流水线脚本、处理报告生成和检查结果这几个步骤。需要逐步引导用户完成每个部分,并解决可能遇到的问题。</think>以下是在Jenkins流水线中生成Allure报告显示pytest测试结果的步骤详解: --- ### 一、环境准备 1. **安装必要工具** - 项目中需包含: - `pytest`(测试框架) - `allure-pytest`(生成Allure格式报告) ```bash pip install pytest allure-pytest ``` 2. **配置测试脚本** 在`pytest`命令中添加Allure结果目录参数: ```bash pytest --alluredir=./allure-results tests/ ``` *`./allure-results`为测试结果存储路径* --- ### 二、Jenkins配置 1. **安装插件** - Jenkins需安装插件: - [Allure Jenkins Plugin](https://plugins.jenkins.io/allure-jenkins-plugin/) - [Pipeline Utility Steps](https://plugins.jenkins.io/pipeline-utility-steps/)(可选,用于文件操作) 2. **全局工具配置** - 进入`Manage Jenkins > Tools`: - 配置Allure命令行工具路径 *(需提前在服务器安装Allure CLI)* --- ### 三、编写Jenkinsfile ```groovy pipeline { agent any stages { stage('Checkout') { steps { git url: 'https://your-repo-url.git' } } stage('Install Dependencies') { steps { sh 'pip install -r requirements.txt' } } stage('Run Tests') { steps { // 运行测试并生成Allure结果 sh 'pytest --alluredir=allure-results tests/' } } } post { always { allure( // 指定结果目录路径 results: [[path: 'allure-results']], // 报告生成路径(可选) report: 'allure-report' ) // 清理旧结果(可选) cleanWs() } } } ``` --- ### 四、报告查看 1. **构建后自动生成** 每次构建完成后,Jenkins Job页面会显示**Allure Report**链接。 2. **报告内容** - 测试用例通过率 - 失败用例堆栈跟踪 - 历史趋势图 - 环境信息等 --- ### 五、常见问题排查 | 问题现象 | 解决方案 | |------------------------------|----------------------------------| | Allure报告生成 | 检查`allure-results`目录是否生成 | | 报告显示"No tests found" | 确认`pytest`是否执行了测试用例 | | Allure插件未生效 | 重启Jenkins服务 | --- ### 六、扩展优化 1. **历史趋势保留** 在Allure配置中设置保留最近N次报告: ```groovy allure(report: 'allure-report', results: 'allure-results', history: 5) ``` 2. **邮件通知** 结合`emailext`插件,将报告链接发送至邮箱。 --- 通过以上步骤,即可在Jenkins流水线中实现自动化测试+Allure报告的可视化展示。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值