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

时间:2018-05-21 16:58:30

标签: jenkins robotframework

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

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

  

WebDriverException:消息:'chromedriver'可执行文件需要进入   PATH。

enter image description here

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

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

1 个答案:

答案 0 :(得分:1)

第一个错误 - 在Jenkins上运行本地浏览器,这个 - WebDriverException: Message: 'chromedriver' executable needs to be in PATH与下载目录无关。

之前它失败了,而且信息非常丰富 - 在尝试启动浏览器时,selenium试图找到它的webdriver代理 - ' chromedriver'因为它是Chrome,但无法在用户的路径中找到它 确保二进制文件位于路径中的目录中。

关于您的第二个问题,您将下载目录设置为${EXECDIR}/Downloads。您正在检查文件的目录是${EXECDIR}/Downloads,是在执行程序节点上 - Jenkins,对吧?

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

最后,您还没有调用add_experimental_options方法,该方法是启动设置所必需的(尽管您在第一个问题的代码中执行了此操作) - 因此下载目录是默认值为1(即使集线器浏览器与Jenkins的节点相同)。