我正在使用Robot Framework和Selenium2Library进行自动前端测试 . 通常我在Firefox浏览器中运行这些测试 . 从Firefox 47版开始,Selenium2Library的内置FirefoxDriver不再起作用了 . 通过互联网搜索了一下,发现,我必须切换到Marionette aka . 壁虎司机 .
尝试此操作时,我收到以下错误消息:
套件设置失败:WebDriverException:消息:驱动程序可执行文件的路径必须由webdriver.gecko.driver系统属性设置;有关更多信息,请参阅https://github.com/jgraham/wires . 最新版本可以从https://github.com/jgraham/wires下载
我再一次尝试在Internet上找到一种设置 GeckoDriver
可执行文件路径的方法,但我只找到了一种Java方法 . 既不适用于Python也不适用于Robot Framework . 有人知道如何在Python或_2558893中设置系统属性?
2 回答
如果您不想使用Marionette,请关注Mukesh的答案并更改版本 . 如果您想使用Marionette,最简单的方法是按照建议by the Mozilla developers将电线(或将来的geckodriver)添加到系统路径 .
Python绑定不支持设置GeckoDriver的路径,而不是通过参数设置webdriver init . 因此,如果不能修改系统路径,那么前进的唯一方法就是将可执行文件的路径传递给Selenium . 从Robot Framework,您可以使用Create Webdriver执行此操作 . Firefox的__init__记录为here .
这是解决Firefox 47和Selenium2Library(导致您尝试Marionette / Gecko驱动程序)的兼容性问题的答案:
Firefox 47有一个错误导致它与selenium webdriver崩溃 . Firefox 47.0.1中已修复此错误(请参阅release notes) .
最新的Selenium2Library(或Selenium 2.53.6)和Firefox 47.0.1的组合应该可以正常工作 .
希望这可以帮助 .