Jenkins 集成 allure 测试报告工具

allure 基于已有的测试报告数据进行进一步的加工,美化等操作,相当于做了一次数据格式转换。allure 支持多种语言的多种测试框架,比如 Java 的 jUnit4、jUnit5、TestNg 等等。

本文主要介绍如何在 Jenkins 中集成 allure 测试报表工具,在每次项目自动化测试完成后,用 allure 生成经过加工后的测试报告。我们以 java 工程的 TestNg 测试为例,处理 TestNg 生成的测试报告。

  • Jenkins 安装 allure 插件
    全局工具配置:
    在这里插入图片描述

  • Jenkinsfile 添加 allure 代码

script {
    allure jdk: '', report: "target/allure-report-unit", results: [[path: "target/surefire-reports"]]
}
`target/allure-report-unit` 参数:allure 报告生成路径;
`target/surefire-reports` 参数:测试报告原始路径;
  • Jenkins 平台查看 allure 报告
    在 allure 成功集成到 Jenkins 后,allure 每次处理完成,在 Jenkins job 页面都可以看到 allure 的图标,点击图标即可查看报告详细信息:

    在这里插入图片描述

    在这里插入图片描述

遇到问题及解决方法

问题:
allure 在 Jenkins pipline 中生成报表时报目录权限问题:java.nio.file.AccessDeniedException
在这里插入图片描述

原因:
jenkins k8s pod 执行 job 时默认用户为 jenkins,但是 pipeline 中调用的容器生成的文件的属主是 root。

解决方法:
配置 jenkins k8s 插件模版,添加安全配置,运行用户设置为 root
https://groups.google.com/forum/#!topic/jenkinsci-users/GR0n8ZkCJ-E

pod 配置(spec 下):

securityContext:
    runAsUser: 0
    fsGroup: 0

参考文档

https://docs.qameta.io/allure/

发布了152 篇原创文章 · 获赞 118 · 访问量 39万+

猜你喜欢

转载自blog.csdn.net/qianghaohao/article/details/97249793