[Jenkins]HTML Report无法显示结果,返回HTTP ERROR 404

本文介绍了解决Jenkins环境下HTML报告出现HTTP 404错误的方法。通过调整索引页面设置和禁用报告保留选项,确保了从Master到Slave节点正确发布和显示测试结果。


测试步骤:

1. Master NodeCentOS, 使用Docker安装,JobBuildWorkspace在不同目录下

2. Slave NodeWindow7,测试代码的运行环境

3. 配置Jenkins Job,使用SlaveNode下载及运行最新测试代码,然后HTML Publisher Plugin展示结果

 

实际结果:

点击HTMLReport链接,返回HTTP ERROR 404

HTTP ERROR 404

Problem accessing/job/SQMS%20Test/HTML_Report/index.html. Reason:

    Not Found

 

修复办法:                      

1. 查看Workspace中的实际文件名APITestReport201702210350.html,修改Job中的Index page[s]为*.html

2. MASTER/ SLAVE模式下,必须关闭Keeppast HTML Reports选项,否则无法显示结果。

备注:查看ConsoleOutput,如果选择保存报告,将复制到build文件夹;否则,不保存,将复制到jobs文件夹。

[htmlpublisher]Archiving HTML reports...

[htmlpublisher]Archiving at BUILD level C:\jenkins\workspace\SQMS Test\jmeter\resultLog\htmlto /mnt/btrfs/jenkins/builds/SQMS Test/builds/75/htmlreports/HTML_Report

OR

[htmlpublisher]Archiving HTML reports...

[htmlpublisher]Archiving at PROJECT level C:\jenkins\workspace\SQMS Test\jmeter\resultLog\htmlto /var/lib/jenkins/jobs/SQMS Test/htmlreports/HTML_Report

 

Jenkins 中配置邮件通知时,若希望 HTML 测试报告**直接显示在邮件正文**中,而不是作为附件发送,可以通过 **Email Extension Plugin**(电子邮件扩展插件)实现这一功能。该插件支持对邮件内容进行高度定制,包括将 HTML 内容直接嵌入邮件正文中。 ### 配置步骤 1. **确保已安装必要的插件** 在 Jenkins 的插件管理界面中,确认已安装以下插件: - Email Extension Plugin - Email Extension Template Plugin(可选,用于更高级的模板定制) 2. **配置 Jenkins 系统管理员邮件设置** 在 Jenkins 的全局工具配置中,进入 **Manage Jenkins > Configure System**,找到 **Email Notification** 配置项,填写 SMTP 服务器信息,确保 Jenkins 可以正常发送邮件[^2]。 3. **配置 Extended Email Publisher** 在 Jenkins 的全局配置中(Manage Jenkins > Configure System),找到 **Extended E-mail Publisher** 配置区域,设置默认的收件人、邮件主题模板以及邮件内容模板。 4. **设置邮件内容格式为 HTML** 在 Extended Email Publisher 设置中,将邮件内容类型设置为 `HTML (text/html)`,并在 **Default Content** 字段中使用如下模板内容,以将 HTML 报告嵌入邮件正文: ```html <html> <head> <style> body { font-family: Arial, sans-serif; } pre { background: #f4f4f4; padding: 10px; } </style> </head> <body> <p>以下为本次构建的测试报告:</p> ${BUILD_LOG_REGEX, regex=".*ERROR.*", errorFlag="true"} ${TEST_COUNTS} ${JELLY_SCRIPT, template="html"} <p>详情请查看:<a href="${BUILD_URL}">${BUILD_URL}</a></p> </body> </html> ``` 上述模板中的 `${JELLY_SCRIPT, template="html"}` 会将 HTML 测试报告的内容直接嵌入邮件正文中,而不是作为附件发送[^2]。 5. **在 Jenkins Job 中启用 HTML 报告展示** 在具体的 Jenkins Job 配置中,确保已启用测试报告发布功能(如使用 JUnit 或 HTML Publisher 插件),并在构建后操作中选择 **Editable Email Notification**,并在触发条件中启用相应事件(如构建失败、不稳定等)。 6. **测试邮件发送** 执行一次构建,确保 HTML 测试报告内容能正确嵌入邮件正文,并通过邮件客户端查看是否正常显示。 --- ### 附加建议 - 若使用 **HTML Publisher Plugin** 发布测试报告,可以在 Jenkins Job 的构建后操作中添加 HTML 报告发布步骤,并将其路径配置为 `${WORKSPACE}` 下的报告目录。 - 可通过 **Token Macro Plugin** 插件扩展邮件内容模板,使用更多 Jenkins 构建变量,例如 `${CHANGES}`、`${BUILD_LOG}` 等。 --- ### 示例:邮件正文嵌入 HTML 报告截图 ```groovy def htmlReport = readFileFromWorkspace('test-results/report.html') emailableReport.setContent(htmlReport) ``` ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值