jenkins-830

解决在jenkins中无法打开robot framework log.html的问题

在使用robot framework plugin与jenkins做持续集成,执行自动化测试脚本的时候,会出现以下提示。

QQ截图20160622170548

之前,用的还好好的,为什么现在的报告(reporter.html,log.html)打不开了呢?

出现这个问题的原因是:你升级了jenkins造成的。据官方说明:

Jenkins 1.641 / Jenkins 1.625.3 introduce the Content-Security-Policy header to static files served by Jenkins (specifically, DirectoryBrowserSupport). This header is set to a very restrictive default set of permissions to protect Jenkins users from malicious HTML/JS files in workspaces, /userContent, or archived artifacts.

jenkins增加的内容安全策略,默认情况下,是禁止执行javascript,css等资源的。

QQ截图20160622180232

那么如何解决呢?

找到jenkins的安装目录下的jenkins.xml,修改此文件
修改前

<arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8080</arguments>

修改后

<arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -Dhudson.model.DirectoryBrowserSupport.CSP="default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' 'unsafe-inline';" -jar "%BASE%\jenkins.war" --httpPort=8080</arguments>

一定要重启jenkins,最好能再执行一下测试脚本,让它生成新的报告文件就行了。

参考链接:

https://groups.google.com/forum/#!msg/concordion/RSp92D2CNuc/nwYW4yqvEQAJ

https://kb.froglogic.com/display/KB/Content+Security+Policy+(CSP)+for+Web+Report

发表评论

电子邮件地址不会被公开。 必填项已用*标注