错误:打开机器人框架日志失败
Posted
技术标签:
【中文标题】错误:打开机器人框架日志失败【英文标题】:Error: Opening Robot Framework log failed 【发布时间】:2016-08-05 01:55:17 【问题描述】:如果我打开由 Robot Framework 生成的任何 .html 文件并尝试使用任何可用的 python 代码或内置命令行工具将其转换为任何其他格式(例如,docx 格式)。我遇到了错误,
-
打开 Robot Framework 日志失败
• 确认您的浏览器中启用了 javascript。
• 确保您使用的是足够现代的浏览器。需要 Firefox 3.5、IE 8 或同等版本,建议使用更新的浏览器。
• 检查浏览器的 JavaScript 错误日志中是否有消息。如果您怀疑遇到了错误,请报告问题。
· 即使我已经在我的浏览器中启用了 JavaScript,我仍然收到此错误。我在 mac 上使用的是 Mozilla Firefox 版本 45.0.2。
谁能帮我解决这个问题?
【问题讨论】:
所以如果你将<script>alert("hi");</script>
保存在一个html文件中并在你的浏览器中打开它,你会得到一个弹出窗口说“嗨”?
是的,它显示我弹出......
那么,您是说您有一个由机器人框架生成的文件,当您在浏览器中打开该文件时出现错误?您的问题不清楚,因为第一条语句暗示您正在尝试转换它,并且通常不使用浏览器来转换 html 文件。
您找到解决方案了吗?
我有同样的问题,但没有一个答案对我有用。
【参考方案1】:
在 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 构建。
【讨论】:
@谢谢! 如果重新启动服务器,更改将会丢失。你需要再做一次。它在 2.46.3 版本中工作。【参考方案2】:我设法通过编辑文件 /etc/sysconfig/jenkins 并添加
-Dhudson.model.DirectoryBrowserSupport.CSP=
到 JENKINS_JAVA_OPTIONS 设置。在我的安装中,设置看起来像
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Dhudson.model.DirectoryBrowserSupport.CSP= "
然后重启jenkins
service jenkins restart
来源
https://wiki.jenkins-ci.org/display/JENKINS/Configuring+Content+Security+Policy
System properties management
【讨论】:
最佳解决方案,即使重启服务器也能永久修复问题。 当我这样做时,詹金斯无处可写。 (2.289.2)【参考方案3】:在 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 bat 中给出这个我得到严重:容器启动失败 java.io.IOException: 无法启动 Jetty【参考方案4】:我们曾经遇到过同样的问题,但是由于我们无法访问 jenkins,因此我们可以在客户端执行此操作,即在 chrome 上安装 CSP 插件并启用该插件。
【讨论】:
【参考方案5】:最简单的做法是(如果不担心安全方面)也是永久性修复。
打开 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 作业以查看结果文件。
如果我们使用脚本控制台,每次重启 jenkins 服务器时,所做的更改都会丢失。
【讨论】:
在ubuntu中jenkins.xml的路径是什么【参考方案6】:请按照以下步骤配置content security policies around Jenkins 应该可以解决此问题: 1.去詹金斯 2.点击管理詹金斯 3.点击脚本控制台 4.输入内容安全策略中显示的未设置标题文本:System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
点击运行
输出应该只显示结果。如果您看到除此之外的任何内容,则表示内容政策未成功更新
如果您仍然遇到问题,请添加错误详细信息,您尝试了什么,以便我们能够帮助您
【讨论】:
输出显示“结果”但 Jenkins(或机器人插件?)不产生任何日志文件【参考方案7】:接受的答案对我有用,但不是持久的。要使其持久化,请修改文件/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' ;\""
重新启动后更改将应用并保持不变
【讨论】:
【参考方案8】:在 CentOS 7 上通过 yum 安装 Jenkins 2.235.2 时,配置更改仍然存在987654322@
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' ;");
【讨论】:
了解上述适用于哪个 Jenkins 版本可能会有所帮助。 感谢 Ivo,上面列出了版本。 chown 很重要,现在也显示出来了。 不清楚如何从第一步开始更清楚地让初学者理解以上是关于错误:打开机器人框架日志失败的主要内容,如果未能解决你的问题,请参考以下文章