相同测试与构建下Allure报告体积增大,如何生成无历史干净报告?
问题描述
我在针对同一构建运行相同测试时,Allure报告体积持续增大。运行测试并生成报告的虚拟机每次测试开始前都会从干净状态快照恢复,生成报告的Jenkins工作区每次测试前也会清空,不存在之前测试或报告生成的残留内容。报告体积变化情况可查看截图:
以下是我在Jenkins流水线中使用Allure插件的报告生成代码块:
allure([ includeProperties: false, jdk: '', properties: [], reportBuildPolicy: 'ALWAYS', results: [[path: "$env.BUILD_NUMBER"]] ])
请问是否可配置相关属性以强制生成无历史记录的干净报告?恳请提供相关建议。
解决方案建议
要生成无历史记录的干净Allure报告,可通过以下方式配置:
1. 调整Jenkins Allure插件参数禁用历史聚合
在流水线的Allure配置中添加historyPolicy: 'NONE'参数,强制插件不聚合历史数据,仅生成当前构建的纯报告:
allure([ includeProperties: false, jdk: '', properties: [], reportBuildPolicy: 'ALWAYS', results: [[path: "$env.BUILD_NUMBER"]], historyPolicy: 'NONE' // 新增参数,禁用历史记录生成 ])
2. 直接使用Allure命令行生成纯报告
如果插件层面的配置仍无法解决问题,可跳过Jenkins Allure插件,用Allure命令行直接生成仅包含当前构建数据的报告:
- 确保Jenkins代理已安装Allure命令行工具
- 在流水线中执行生成命令:
allure generate --clean "$env.BUILD_NUMBER" -o allure-clean-report
- 用Jenkins的
publishHTML插件发布静态报告:
publishHTML([ allowMissing: false, alwaysLinkToLastBuild: false, keepAll: false, reportDir: 'allure-clean-report', reportFiles: 'index.html', reportName: 'Allure Clean Report' ])
额外排查点
- 检查测试代码是否生成了大量带动态标识(如时间戳)的附件(截图、日志等),即使测试用例相同,这类附件也会导致报告体积累加
- 确认Allure结果目录
$env.BUILD_NUMBER下的history文件夹是否为空,若存在内容则说明测试执行过程中意外生成了历史数据,需排查测试框架的Allure配置
内容的提问来源于stack exchange,提问作者Michael Reynolds
相关产品推荐
相关产品推荐

