持续集成自动化测试ios持续集成

Jenkins2.2 firefox和chrome不显示测试报告

2016-05-26  本文已影响1916人  ahtest

表现描述: 

jenkins版本2.2,运行测试生成测试报告后,在网页上查看时,ie显示正常,firefox和chrome显示一片空白

如图:

Content Security Policy: 不能处理未知的指令“sandbox” <未知>

Content Security Policy: 页面设置阻止读取位于 http://192.168.57.192/jenkins-2.2/job/test/HTML_Report/suites.html的一项资源("default-src 'none'")。 <未知>

Content Security Policy: 页面设置阻止读取位于 http://192.168.57.192/jenkins-2.2/job/test/HTML_Report/overview.html的一项资源("default-src 'none'")。

原因

Jenkins 1.641/1.625.3 在静态文件头中引入了Content-Security-Policy,在jenkins中具体为DirectoryBrowserSupport,它为保护jenkins的html/js,用户目录以及文档等,设置了非常严格的权限保护.(译自jenkins官网)

默认的设设置为

sandbox; default-src 'none'; img-src 'self'; style-src 'self';

这规则如下:

不允许JavaScript

不允许插件(对象/嵌入)

没有内联CSS或CSS允许从其他网站

不允许从其他网站图片

不允许框架

不允许web字体

不允许XHR / AJAX等。

放松规则:

方法一:用java启动jenkins.war的可以在启动命令中加参数 -Dhudson.model.DirectoryBrowserSupport.CSP=

如: java -Dhudson.model.DirectoryBrowserSupport.CSP="sandbox; default-src 'unsafe-inline';" -jar jenkins.war

方法二:可以在jenkins的Jenkins Script Console(脚本命令行)里设置方法如下:

在系统管理->脚本命令行,在里面输入System.setProperty("hudson.model.DirectoryBrowserSupport.CSP",  "script-src 'unsafe-inline'"), 点击运行

设置后,再去刷新http report页面,测试报告显示正常.

常用的设置

设置一个自定义:

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "sandbox; default-src 'self';")

清除自定义:

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

恢复默认设置:

System.clearProperty("hudson.model.DirectoryBrowserSupport.CSP")

查看当前设置:

System.getProperty("hudson.model.DirectoryBrowserSupport.CSP")

Jenkins CSP参考文档: https://wiki.jenkins-ci.org/display/JENKINS/Configuring+Content+Security+Policy

CSP参考文档: http://content-security-policy.com/

上一篇 下一篇

猜你喜欢

热点阅读