当前位置: 首页 > 知识库问答 >
问题:

如何在 Jenkins 中工作时在 Robot Framework 中设置默认下载目录

仇炜
2023-03-14

我一直在处理在框架内的“下载”文件夹中下载文件。我正在使用Robot Framework,CI工具是Jenkins。

我已根据此代码配置了Base Setup Script。当我在本地执行脚本时,这可以正常工作。但是当它在Jenkins中运行时,它会给我这个错误

WebDriverException:消息:“chromeDrive”可执行文件需要在PATH中。

当我在 Jenkins 中运行它时,其他代码工作正常,但它没有正确设置默认下载目录,并且文件没有下载到预期的目录。

任何人都可以帮助我重建黄色块,以便它打开远程URL并正确实例化浏览器,并设置默认下载位置所需的功能–

共有1个答案

李捷
2023-03-14

第一个错误-本地浏览器在Jenkins上运行,这个错误-<code>WebDriverException:消息:'chromedriver'可执行文件需要在路径</code>中,与下载目录无关。

在此之前,它失败了,并且该消息非常翔实 - 在尝试启动浏览器时,selenium会尝试找到其webdriver代理 - “chromedriver”,因为它是Chrome,但在用户的路径中找不到它。
确保二进制文件位于目录中,即在路径中。

至于你的第二个问题,你把下载目录设置为< code > $ { EXECDIR }/Downloads 。您正在检查的文件目录是< code > $ { EXECDIR }/Downloads ,在executor节点上Jenkins,对吗?

好吧,这个案例是从Jenkins作为执行器节点运行的,但是浏览器是远程的-如果它是与Jenkins不同的节点(机器),文件将下载到远程机器上。因此,当文件被下载时,您没有在正确的节点中检查它
而且,如果该节点的目录与${EXECDIR}/Downloads的值不同,则下载很可能失败。

最后,您没有调用 add_experimental_options 方法,这是启动设置所必需的(尽管您在第一个问题的代码中确实调用了此方法) - 因此下载目录是默认目录(即使中心浏览器与 Jenkins 是同一节点)。

 类似资料:
  • 问题内容: 请找到以下带有镶边功能的代码。实际上,浏览器没有将文件下载到指定的路径。 问题答案: 对于Chromedriver,请尝试: 注意:-在Windows中,您需要使用\\作为路径,而如果您使用linux或mac,则使用// 希望这可以帮助。:)

  • 问题内容: 我有一个输出非ASCII字符的python脚本。它可以从命令行正常运行(它具有LANG en_US.UTF-8),但是一旦我尝试在Jenkins中运行(从同一shell启动),它就会以ascii终端的典型方式失败: 我尝试在“执行外壳”构建步骤中执行脚本调用,如下所示: 但是,似乎忽略了这一点。将以下内容放入我的python脚本中: 不管我做什么,都给我这个: 那么,有什么能让我强迫詹

  • 我有一个rails应用程序,正在运行水豚 以下是我如何在我的支持/环境中设置它。rb: 我注意到,如果我停止 然后设置默认下载目录,然而,浏览器会自动弹出,我想禁用它。 当我两者都有: 它运行headless,但未设置默认下载路径。 我有以下版本: 水豚(2.14.2) selenium webdriver(3.6.0) chromedriver辅助程序(1.1.0)

  • 问题内容: 我在同一包中有2个班级。这两个类都具有main方法。现在,我想构建一个jar文件。我想建立2个jar文件,这些文件使用不同的主要功能作为默认主要功能。 例如 如何在NetBeans IDE中进行操作? 我找到了答案。您可以在netbeans中轻松地做到这一点:1)右键单击项目>属性>运行>选择类frm并下拉列表。在netbeans中是如此简单。Netbeans摇摇欲坠! 问题答案: 在

  • 问题内容: 我在使用react-select时遇到问题。我使用redux表单,并且使我的react-select组件与redux表单兼容。这是代码: 这里是我如何渲染它: 但是问题是我的下拉菜单没有我希望的默认值。我做错了什么?有任何想法吗? 问题答案: 我猜你需要这样的东西:

  • 问题内容: 我可以在angularjs中使用默认值设置一个下拉列表, 如何使用来达到相同的效果?我胆战心惊, 但是没用。样品小提琴在这里 问题答案: 使用 为设定的默认值。 这是: 演示