Jenkins构建后展示HTML测试报告

  • 作者:lwj
  • 分类:Jenkins
  • 发表日期:2019-10-22 16:43:25
  • 阅读(1523)
  • 评论(0)

  在构建测试自动化脚本结束后控制台默认只输出用例执行结果,以接口测试自动化为例若脚本放在Linux系统下执行,当执行完毕后要想直接查看测试报告是不方便的,所以想直观的看到构建完成后的报告可以在Jenkins展示

安装HTML Publisher plugin插件

安装方法1:

进入系统管理--管理插件--可选插件,搜索到此插件并安装:

安装方法2:

导入离线包,进入系统管理-->插件管理-->高级-->上传插件

插件下载,下载后是hpi格式

使用插件展示报告

编辑之前的项目,在“构建后操作”加入Publish HTML reports

HTML directory to archive :你的脚本输出报告保存的路径,最好填绝对路径

Index page[s] :原本报告的名称,测试报告为固定名称

配置保存后重新构建,项目中找到测试报告入口可看到html报告,如果展示为空请确认配置时的报告路径和名称

HTML报告样式无法显示

问题:Jenkins中在访问有自定义样式或动画效果的测试报告时,展示的样式往往会出乎你的想象,面目全非,样式错乱,动画无法展示等等问题。打开浏览器开发工具控制台,可以看到CSS、JS加载失败.

原因:Jenkins为了避免受到恶意HTML/JS文件的攻击, 会默认将安全策略CSP设置为:sandbox; default-src ‘none’; img-src ‘self’; style-src ‘self’;

在此配置下,只允许加载:

  1. Jenkins服务器上托管的CSS文件

  2. Jenkins服务器上托管的图片文件

以下形式的内容都会被禁止:

  1. JavaScript

  2. plugins (object/embed)

  3. HTML中的内联样式表(Inline style sheets),以及引用的外站CSS文件

  4. HTML中的内联图片(Inline image definitions),以及外站引用的图片文件

  5. frames

  6. web fonts

  7. XHR/AJAX

解决:  

1. 修改CSP(Content Security Policy)的默认配置,到Jenkins系统管理->脚本命令行,执行以下Groovy命令,然后点击运行

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

 配置完成后,重新构建原有项目,HTML页面即可正常显示

2. 不过这只是暂时解决,jenkins重启之后配置会消失,还是只能看到无样式页面。为了解决这个问题,需要加入Startup Trigger和Groovy插件

安装Startup Trigger(jenkins节点启动时触发构建)

安装Groovy(运行Groovy代码

3. 新建一个Job,用于jenkins启动时执行配置命令

构造触发器中选择“Build when job nodes start”,其他不要填写

在构建模块选择“Execute system Groovy script”,然后维护如下代码:

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","")

4. 保存后重启jenkins,再次查看报告,jenkins展示个漂漂亮亮的HTML报告了

觉得不错,支持一下!

提交评论

您尚未登录,登录之后方可评论~ 登录 or 注册

评论列表

暂无评论
返回顶部

建议反馈

1. 可在博文底部留言评论

2. 发邮件到i_suichuan@163.com