【问题标题】:RIDE can't find firefox geckodriver while running screen-test运行屏幕测试时 RIDE 找不到 firefox geckodriver
【发布时间】:2021-12-26 16:45:58
【问题描述】:

我有一个“hello world”测试来使用 Firefox 打开浏览器。 测试在命令行($ robot hai_world.robot)上运行良好。 但是当我在 RIDE 中运行测试时它失败了。它报告: WebDriverException:消息:“geckodriver”可执行文件需要在 PATH 中。 RIDE 有自己的 PATH 设置吗? 它在 Python 3.8.10 上的 RIDE v2.0b1 中的 ubuntu 20.04 上运行

【问题讨论】:

  • 如果你从同一个命令行启动 RIDE,它会找到 geckodriver 吗? geckodriver 在哪里(在通常的 PATH 位置)?在此处粘贴which geckodriver
  • 'which geckodriver' 给了:/home/hobijn/.local/share/WebDriverManager/bin/geckodriver。我从同一个命令行启动了 RIDE。 RIDE 可以打开浏览器。所以起始位置会有所不同。
  • 请提供足够的代码,以便其他人更好地理解或重现问题。
  • 对社区机器人做出反应:RIDE 由桌面快捷方式和机器人直接在机器人项目目录中打开的控制台中的命令行上启动。这会导致不同的起始路径,从而导致搜索驱动程序的路径不同。

标签: selenium-firefoxdriver robotframework-ide


【解决方案1】:

因为您的 geckodriver 位于 PATH 中仅为您的用户定义的位置,所以 RIDE 在从快捷方式启动时不知道这一点。

我看到(至少)两个选项来解决这个问题:

  • 在全局 PATH 位置创建指向 geckodriver 的链接,例如:

    sudo ln -s /home/hobijn/.local/share/WebDriverManager/bin/geckodriver /usr/local/bin/geckodriver

  • 修改 RIDE 的启动器脚本以更新 PATH:

    export PATH=$PATH:/home/hobijn/.local/share/WebDriverManager/bin ; python3 -m robotide.__init__ $*

【讨论】:

  • 谢谢。在命令行上启动 RIDE 还有另一个优点:文件浏览从项目根目录开始,而不是从文件系统的根目录开始。由于大多数文件都在项目中,因此可以避免大量点击。
猜你喜欢
  • 2020-12-17
  • 1970-01-01
  • 2015-01-24
  • 1970-01-01
  • 2018-08-30
  • 2017-11-01
  • 2019-10-26
  • 2016-06-07
  • 1970-01-01
相关资源
最近更新 更多