错误:打开机器人框架日志失败

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 很重要,现在也显示出来了。 不清楚如何从第一步开始更清楚地让初学者理解

以上是关于错误:打开机器人框架日志失败的主要内容,如果未能解决你的问题,请参考以下文章

机器人创建失败并出现错误:未找到

hbuilderx安装插件太卡了

拉取功能错误;打开 URL 时,“...”的 keepalive 请求失败,重试新连接

Git 强制推送后 Xcode 持续集成机器人失败

与 Xcode Bot 的持续集成

405 - 机器人框架中不允许的方法