错误:打开Robot Framework日志失败
Error: Opening Robot Framework log failed
如果我打开Robot Framework生成的任何.html文件,并尝试使用任何可用的python代码或内置命令行工具将其转换为任何其他格式(例如,docx甲酸)。我收到以下错误,
- 打开Robot Framework日志失败
•验证您的浏览器中是否启用了JavaScript。
•确保您使用的浏览器足够现代化。需要Firefox 3.5、IE 8或同等版本,建议使用更新的浏览器。
•检查浏览器的JavaScript错误日志中是否有消息。如果您怀疑遇到错误,请报告问题。
·尽管我已经在浏览器中启用了JavaScript,但我还是收到了这个错误。我在mac上使用Mozilla Firefox 45.0.2版本。
有人能帮我解决这个问题吗?
Jenkins问题跟踪系统中解释了答案:https://issues.jenkins-ci.org/browse/JENKINS-32118
要解决您的问题,您必须:
- 连接您的Jenkins URL(http://[IP]:8080/)
- 单击左侧面板中的
Manage Jenkins
- 单击
Script Console
- 将此复制到字段中
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","sandbox allow-scripts; default-src 'none'; img-src 'self' data: ; style-src 'self' 'unsafe-inline' data: ; script-src 'self' 'unsafe-inline' 'unsafe-eval' ;")
单击
Run
按钮。执行您的Jenkins构建。
我通过编辑文件/etc/sysconfig/jenkins并添加-Dhudson.model.DirectoryBrowserSupport.CSP=
到JENKINS_JAVA_OPTIONS设置。在我的安装中,设置看起来像
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Dhudson.model.DirectoryBrowserSupport.CSP= "
然后重新启动詹金斯
service jenkins restart
来源
https://wiki.jenkins-ci.org/display/JENKINS/Configuring+内容+安全+策略
系统属性管理
我们曾经面临过同样的问题,但由于我们无法访问jenkins,我们可以在客户端安装chrome上的CSP插件并启用该插件。
在Manage Jenkins的脚本控制台中运行以下代码将运行
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","sandbox allow-scripts; default-src 'none'; img-src 'self' data: ; style-src 'self' 'unsafe-inline' data: ; script-src 'self' 'unsafe-inline' 'unsafe-eval' ;")
但无论何时启动Jenkins,每次都必须执行。相反,如果你在使用下面代码的批处理文件启动Jenkins时使用这个,那么它将比这个过程更好
java -Dhudson.model.DirectoryBrowserSupport.CSP="sandbox allow-scripts; default-src 'none'; img-src 'self' data: ; style-src 'self' 'unsafe-inline' data: ; script-src 'self' 'unsafe-inline' 'unsafe-eval' ;" -jar jenkins.war
最简单的事情是(如果不担心安全方面)也是一个永久性的修复。
-
打开jenkins.xml文件和
-
添加以下
<arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -Dhudson.model.DirectoryBrowserSupport.CSP="" -jar "%BASE%'jenkins.war" -- httpPort=8080 --webroot="%BASE%'war"</arguments>
-
重新启动詹金斯服务器
-
重新运行jenkins作业以查看结果文件。
如果我们使用脚本控制台,每次重新启动jenkins服务器时,更改都会丢失。
接受的答案对我有效,但不是持久的。要使其持久化,请修改文件/etc/default/jenkins
,并在JAVA_ARGS
行之后添加以下行:
JAVA_ARGS="$JAVA_ARGS -Dhudson.model.DirectoryBrowserSupport.CSP='"sandbox allow-scripts; default-src 'none'; img-src 'self' data: ; style-src 'self' 'unsafe-inline' data: ; script-src 'self' 'unsafe-inline' 'unsafe-eval' ;'""
更改将在重新启动后应用并保持不变
对我来说,在/etc/default/jenkins
中编辑JAVA_ARGS
不起作用。为了在运行Jenkins作为服务时在Ubuntu 18.04 LTS上永久更改,我做了以下操作:
- 运行
service jenkins status
,从第二行获取实际服务配置文件的路径,我的路径是:/lib/systemd/system/jenkins.service
- 运行
sudo vim /lib/systemd/system/jenkins.service
,在注释Arguments for the Jenkins JVM
下查找属性Environment=
- 粘贴:
-Djava.awt.headless=true
后面的-Dhudson.model.DirectoryBrowserSupport.CSP='"sandbox allow-scripts; default-src 'none'; img-src 'self' data: ; style-src 'self' 'unsafe-inline' data: ; script-src 'self' 'unsafe-inline' 'unsafe-eval' ;'"
- 运行
sudo service jenkins stop
,您应该看到以下警告:Warning: The unit file, source configuration file or drop-ins of jenkins.service changed on disk. Run 'systemctl daemon-reload' to reload units.
- 运行
sudo systemctl daemon-reload
- 运行
sudo service jenkins start
您现在应该能够在重新启动后浏览robot框架结果。
请按照以下步骤配置Jenkins的内容安全策略,这样可以解决此问题:1.去找詹金斯2.点击管理Jenkins3.单击脚本控制台4.输入内容安全策略中显示的未设置的标题文本:System.setProperty("hudson.model.DirectoryBrowserSupport.CSP",")
单击运行
输出应该只显示Result。如果你看到除此之外的任何事情,那意味着内容策略没有成功更新
如果您仍然面临这个问题,请添加错误详细信息,您尝试了什么,这样我们将能够帮助您
Jenkins 2.235.2通过在CentOS7上的yum安装,将以下内容放在$JENKINS_ROOT/init.groovy
的新文件中,将文件的所有权更改为Jenkins用户,然后使用service jenkins restart
重新启动Jenkins,配置更改仍然存在
import jenkins.model.Jenkins;
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","sandbox allow-scripts; default-src 'none'; img-src 'self' data: ; style-src 'self' 'unsafe-inline' data: ; script-src 'self' 'unsafe-inline' 'unsafe-eval' ;");
- /undefined在我的404错误日志中多次出现
- 当json解析空响应时,Whatwg-Fetch失败,我该如何防止它
- JsFiddle在分叉后描述失败
- 如何使用Protractor从Chrome控制台获取所有日志
- 自定义运行时Can'在谷歌应用引擎中看不到我的自定义日志
- 为什么不'当单元测试出现解析错误时,我的因果报应测试会失败
- 当一些承诺失败时,如何继续使用$q.all()
- 失败:等待Protractor与页面同步时出错:“”;在窗口上找不到角度”;
- 在Jquery中单击传播失败
- 网页上失败的javascript会导致所有其他脚本失败
- 日志Javascript&电子(原子外壳)
- 带有对象解析的响应javascript ajax失败
- 错误:打开Robot Framework日志失败
- 尝试使用 JQuery 捕获日志失败和 404
- 如何运行无头YUI测试并在日志文件中记录成功/失败
- 日志含义传递JSON对象失败
- 日志含义骨干jsffidle加载外部资源失败
- 日志含义连接服务器失败.(file:///android_asset/www/index.html)
- 日志含义修改对象名称,读取JSON数据失败
- 为什么我的测试失败,并且lodash方法中的console.log()语句没有记录日志