错误:打开Robot Framework日志失败

Error: Opening Robot Framework log failed

本文关键字:日志 失败 Framework Robot 打开 错误      更新时间:2024-07-01

如果我打开Robot Framework生成的任何.html文件,并尝试使用任何可用的python代码或内置命令行工具将其转换为任何其他格式(例如,docx甲酸)。我收到以下错误,

  1. 打开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

要解决您的问题,您必须:

  1. 连接您的Jenkins URL(http://[IP]:8080/)
  2. 单击左侧面板中的Manage Jenkins
  3. 单击Script Console
  4. 将此复制到字段中
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' ;")
  1. 单击Run按钮。

  2. 执行您的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

最简单的事情是(如果不担心安全方面)也是一个永久性的修复。

  1. 打开jenkins.xml文件和

  2. 添加以下

    <arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -Dhudson.model.DirectoryBrowserSupport.CSP="" -jar "%BASE%'jenkins.war" -- httpPort=8080 --webroot="%BASE%'war"</arguments>

  3. 重新启动詹金斯服务器

  4. 重新运行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上永久更改,我做了以下操作:

  1. 运行service jenkins status,从第二行获取实际服务配置文件的路径,我的路径是:/lib/systemd/system/jenkins.service
  2. 运行sudo vim /lib/systemd/system/jenkins.service,在注释Arguments for the Jenkins JVM下查找属性Environment=
  3. 粘贴:-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' ;'"
  4. 运行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.
  5. 运行sudo systemctl daemon-reload
  6. 运行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' ;");