显示Jenkins的宁静报告时,缺少饼图和其他元素

tyg4sfes  于 2022-12-17  发布在  Jenkins
关注(0)|答案(5)|浏览(126)

需要你的帮助!
我一直在努力将我的自动化测试集成到Jenkins。我使用Serenity BDD和JBehave。当我手动运行测试时,我的Serenity报告显示OK。但是,当我将测试集成到Jenkins并尝试通过Publish HTML Report Plugin显示报告时,它无法显示饼图,并且还缺少其他元素。
你知道怎么解决吗?

yebdmbv4

yebdmbv41#

实际上你不需要降级Jenkins。这个问题的发生是因为现代浏览器支持新的内容安全策略头。正确的解决方法如下(CentOS 7的代码示例和路径):

  • 通过Jenkins系统属性配置内容策略标头:
sudo vim /etc/sysconfig/jenkins
set java options as following:
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Dhudson.model.DirectoryBrowserSupport.CSP=\"sandbox allow-forms allow-scripts; default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline';\""
# save and exit
sudo /etc/init.d/jenkins restart

有关内容安全策略的详细信息:http://content-security-policy.com

wbgh16ku

wbgh16ku2#

我得到了它的工作如下Ubuntu 16.04
1.后藤/etc/default/jenkins并设置以下值
JAVA_ARGS="-Djava.awt.headless=true -Dhudson.model.目录浏览器支持.CSP=\“沙箱允许格式允许脚本;默认-src“自身”; script-src '自我' '不安全内联';样式-src 'self' '不安全内联'; img-src数据:;"”
1.使用以下命令重新启动jenkins
http://localhost:8080/safeRestart
1.后藤Jenkins〉管理Jenkins〉在下面运行脚本控制台
系统.setProperty(“哈德逊模型目录浏览器支持.CSP”,“”)
1.关闭现有的Jenkins浏览器窗口,并以隐身模式打开新窗口。
1.参考文献
Jenkins Content Security Policy
Jenkins - HTML Publisher Plugin - No CSS is displayed when report is viewed in Jenkins Server

4ktjp1zp

4ktjp1zp3#

我也一直面临着同样的问题。我使用脚本控制台中的一些代码通过HTML插件显示扩展报告,它工作,但饼图不可见,然后经过大量探索,最后我也找到了以下代码,我也可以查看我的扩展报告中的饼图。进入脚本控制台并运行以下代码;

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "default-src * 'unsafe-inline' 'unsafe-eval'; script-src * 'unsafe-inline' 'unsafe-eval'; connect-src * 'unsafe-inline'; img-src * data: blob: 'unsafe-inline'; frame-src *; style-src * 'unsafe-inline';")
h43kikqp

h43kikqp4#

由于它是一个Java属性,因此可以在Jenkins应用程序内部设置,也可以在Jenkins开始时设置,在我使用Ubuntu的情况下,要添加它,需要编辑/usr/lib/systemd/system/jenkins.service并添加以下行:

# Arguments for display Thucydes Reports correctly
Environment="JAVA_OPTS=-Dhudson.model.DirectoryBrowserSupport.CSP=\"default-src \"*\" 'unsafe-inline' 'unsafe-eval'; script-src \"*\" 'unsafe-inline' 'unsafe-eval'; connect-src \"*\" 'unsafe-inline'; img-src \"*\" data: blob: 'unsafe-inline'; frame-src \"*\"; style-src \"*\" 'unsafe-inline';\""

保存文件并执行以下命令以完成该过程:

sudo systemctl daemon-reload
sudo service jenkins restart

现在,每次Jenkins重新启动时,都会设置该属性!

sbtkgmzw

sbtkgmzw5#

解决了需要降低Jenkins的等级。

相关问题