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

时间:2016-01-12 10:19:55

标签: jenkins report jbehave thucydides serenity-bdd

需要你的帮助!

我一直致力于将自动化测试集成到Jenkins。我使用Serenity BDD和JBehave。当我手动运行测试时,我的Serenity报告显示OK。但是,当我将测试集成到Jenkins并尝试通过Publish HTML Report Plugin显示报表时,它无法显示饼图并缺少其他元素。

知道如何解决这个问题吗?

4 个答案:

答案 0 :(得分:4)

实际上你并不需要降级詹金斯。出现此问题的原因是现代浏览器支持新的内容安全策略标头。正确的解决方案可以是以下(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
    
  • 安装Jenkins CORS过滤器插件:https://wiki.jenkins-ci.org/display/JENKINS/Cors+Filter+Plugin

  • 设置CORS(管理Jenkins - >配置系统 - > CORS过滤器) enter image description here

  • 享受结果: - )

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

答案 1 :(得分:2)

我在Ubuntu 16.04上得到了如下工作

  1. 转到/ etc / default / jenkins并设置低于值

    JAVA_ARGS =" -Djava.awt.headless = true -Dhudson.model.DirectoryBrowserSupport.CSP = \" sandbox allow-forms allow-scripts; default-src' self&#39 ;; script-src' self' '不安全直插&#39 ;; style-src' self' '不安全直插&#39 ;; img-src数据:; \""

  2. 使用命令

    重新启动jenkins

    http://localhost:8080/safeRestart

  3. Goto Jenkins>管理Jenkins>脚本控制台在

    下面运行

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

  4. 关闭现有的Jenkins浏览器窗口并以隐身模式打开新窗口。

  5. 参考

    Jenkins Content Security Policy

    Jenkins - HTML Publisher Plugin - No CSS is displayed when report is viewed in Jenkins Server

答案 2 :(得分:0)

我也面临着同样的问题。我在脚本控制台中使用了一些代码,通过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';")

答案 3 :(得分:-2)

解决。需要降级詹金斯。