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

Sek*_*dra 7 report jbehave jenkins thucydides serenity-bdd

需要你的帮助!

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

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

Ale*_*ewa 5

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

  • 设置 CORS(管理 Jenkins -> 配置系统 -> CORS 过滤器) 在此处输入图片说明

  • 享受结果:-)

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


Sek*_*dra -2

解决了。需要降级詹金斯。