在Ubuntu上使用Jenkins生成报告可以通过以下几种方法实现:
使用HTML Publisher插件
-
安装HTML Publisher插件:
- 登录Jenkins,点击“系统管理”→“插件管理”。
- 在“可选插件”选项卡中搜索“HTML Publisher Plugin”,直接安装即可。若无法直接安装,可下载插件(插件下载地址:HTML Publisher Plugin),切换到“高级”选项卡上传并重启Jenkins。
-
配置Job以生成HTML测试报告:
- 创建或选择Job:进入Jenkins项目页面,选择或新建一个Job(如自由风格项目)。
- 配置源码管理:根据需求配置源码管理工具(如Git),指定仓库URL和分支。
- 在“构建”部分添加构建步骤,例如使用Maven或Gradle运行测试命令:
- Maven项目:
mvn clean test - Gradle项目:
gradle clean test
- Maven项目:
- 也可直接运行生成HTML报告的脚本,如使用pytest生成报告:
pytest --html=report/result.html --self-contained-html - 在“构建后操作”部分,选择“Publish HTML reports”。
- 填写以下信息:
- HTML directory to archive:指定测试报告的路径(相对于工作空间)。例如,若报告生成在
report文件夹下,则填写report。 - Index page[s]:指定报告的入口文件名。例如,若报告文件为
result.html,则填写result.html。 - Report title:设置报告在Jenkins页面上显示的标题。
- HTML directory to archive:指定测试报告的路径(相对于工作空间)。例如,若报告生成在
-
解决HTML报告样式加载问题:
- Jenkins默认的内容安全策略(CSP)可能导致HTML报告中的CSS样式无法加载,报告显示异常。可通过以下方法解决:
- 临时解决方案(重启后失效):
- 进入“系统管理”→“脚本命令行”,输入以下命令并运行:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
- 进入“系统管理”→“脚本命令行”,输入以下命令并运行:
- 永久解决方案:
- 安装Groovy插件:在插件管理中搜索并安装“Groovy Plugin”。
- 在Job配置页面的“构建触发器”部分,勾选“Build when job nodes start”。
- 在“构建”部分,添加“Execute system Groovy script”步骤,输入以下Groovy命令:
import jenkins.model.Jenkins Jenkins.instance.getAllItems(AbstractItem.class).each { item -> if (item instanceof hudson.model.Job) { item.getBuilds().each { build -> build.getResults().each { result -> if (result instanceof hudson.tasks.junit.JUnitResultArchiver) { result.getReportDir().each { dir -> def reportDir = dir.path def reportFiles = dir.listFiles { file -> file.name.endsWith('.html') }.collect { file -> [ allowMissing: false, alwaysLinkToLastBuild: true, keepAll: true, reportDir: reportDir, reportFiles: file.name, reportName: 'HTML Report' ] }.each { config -> build.post.publishHTML(config) } } } } } } } - 保存配置后,重新构建Job即可。
- 临时解决方案(重启后失效):
- Jenkins默认的内容安全策略(CSP)可能导致HTML报告中的CSS样式无法加载,报告显示异常。可通过以下方法解决:
-
执行构建并查看报告:
- 触发构建:点击“立即构建”按钮,执行Job。
- 构建完成后,在Job页面左侧导航栏中会出现“HTML Report”选项。
- 点击“HTML Report”,即可查看生成的HTML测试报告。
通过以上步骤,你可以在Ubuntu上使用Jenkins生成和查看HTML测试报告。根据你的具体需求,可以进一步调整和扩展配置。