无法安装RobotFramework Jenkins插件,如何发布测试报告?
在Jenkins上发布Robot Framework测试报告的替代方案(无插件版)
问题说明
服务器无法安装Robot Framework Jenkins插件,尝试用Jenkins内置的HTML报告功能发布测试报告时,点击报告仅加载背景无内容,但报告文件已正确生成在服务器路径:file:///C:/Program%20Files%20(x86)/Jenkins/jobs/test/builds/17/htmlreports/HTMLReport/report.html。
方案1:修复内置HTML报告的加载问题
核心原因是Jenkins默认的内容安全策略(CSP)阻止了报告中的JS、CSS加载,导致样式和内容无法显示。
- 进入Jenkins全局配置(Manage Jenkins -> Configure System)
- 找到Content Security Policy选项,替换默认值为:
default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self'; - 保存后重新构建,再查看HTML报告即可正常显示
- 额外检查:构建后操作的“Publish HTML reports”中,HTML directory to archive填Robot Framework生成报告的相对路径(不要用绝对路径),**Index page[s]**填
report.html
方案2:用归档功能手动分发报告
如果不想调整CSP,可直接归档报告文件:
- 在构建后操作中添加Archive the artifacts
- 设置归档文件为
report.html, log.html, output.xml(覆盖Robot Framework生成的所有报告文件) - 构建完成后,在构建页面的“Artifacts”栏直接点击
report.html,浏览器会正常打开带样式的完整报告
方案3:自定义脚本复制报告到静态资源目录
通过脚本把报告复制到Jenkins的静态资源目录,可直接通过URL访问:
- Windows批处理脚本示例(放在测试执行后的构建步骤中):
rem 创建当前构建的报告目录 mkdir "C:\Program Files (x86)\Jenkins\userContent\robot-reports\%BUILD_NUMBER%" rem 复制报告文件到目标目录 copy "你的测试项目路径\report.html" "C:\Program Files (x86)\Jenkins\userContent\robot-reports\%BUILD_NUMBER%\" copy "你的测试项目路径\log.html" "C:\Program Files (x86)\Jenkins\userContent\robot-reports\%BUILD_NUMBER%\" - 构建完成后,通过以下URL访问报告:
http://你的Jenkins地址/userContent/robot-reports/构建编号/report.html
内容的提问来源于stack exchange,提问作者user2201789
相关产品推荐
相关产品推荐

