我想通过合并两个独立的Jenkins maven项目的结果生成一个统一的报告(我已经读过Allure确实支持该功能 - 合并结果不同的诱惑结果文件夹),但它不起作用正如我将在下面解释的那样。
我的目标是从所有项目中获得所有测试结果的可见性。目前,我只能看到特定于项目的测试结果。
这是上下文:
我通过JENKINS上的诱惑运行和报告结果的两个Maven项目(testNG
)。如下所示,这两个版本的诱惑效果正如预期的那样 - 由Allure Jenkins插件版本2.26.0自动生成
Allure Jenkins plugin working fine for separate maven jobs
现在我还安装了Allure 2.6.0并将其添加到系统PATH上并正确配置ALLURE_HOME环境var。
所以当我在这里运行这个命令:
诱惑服务"C:\Users\tester\workspace\scripts-qa\STF\allure-results" --host "127.0.0.1" --port "8081"
完全可以通过我的IntelliJ在我的Allure结果中报告结果,如下所示。
Allure serve results from my local worspace
现在,当我按照上面的命令运行类似命令时,通过合并我在Jenkins中获得的两个报告来生成统一报告 - 只是已经填充了执行趋势 - 但是测试的总数及其详细信息并不像您在下面看到的那样。
这是我执行生成统一报告的命令:
诱惑服务"C:\Users\tester\.jenkins\workspace\Regression2\allure-report" "C:\Users\tester\.jenkins\workspace\Regression1\allure-report" --host "127.0.0.1" --port "8081"
Allure problem when trying to merge reports from two separate jenkins projects
你可以帮我弄清楚这里有什么问题吗?这可能是诱惑二进制无法提供由诱惑Jenkins插件生成的结果吗?如果是,那么解决这个问题的工作是什么?谢谢!! 让。
答案 0 :(得分:0)
我可以看到您正在尝试从已生成的报告中生成累积报告,这是不正确的 - Allure需要原始allure-results
来生成报告
作为解决方法,您需要
allure-results
并将其附加到构建为工件allure-results
工件allure-results
构建报告以下是管道作业的代码段
将allure-results
附加为人工制品:
zip archive: true, dir: "target/allure-results", glob: '', zipFile: "allure-results.zip"
将人工制品复制到另一份工作:
copyArtifacts filter: 'allure-results.zip', optional: true, projectName: "Regression1", selector: lastCompleted(), target: "Regression1"
unzip dir: "Regression1", glob: '', zipFile: "Regression1/allure-results.zip"
...
构建报告
allure serve Regression1 Regression2
答案 1 :(得分:0)
您还可以像这样选择汇总报告:
allure includeProperties: false, jdk: '', results: [
[path: '../name-of-job-1/target/allure-results'],
[path: '../name-of-job-2/target/allure-results'],
[path: '../name-of-job-3/target/allure-results']]
}