0

我被要求评估 Robotframework 并对我所看到的大部分内容感到满意。然而,为了让它对我来说是一个可行的选择,我需要它在 Firefox 中工作。

Marionette 功能在我的 Ruby/Capybara 环境中是个问题,我能够将其关闭。

Capybara.register_driver :selenium do |app|
  Capybara::Selenium::Driver.new(app, :browser => :firefox, desired_capabilities: Selenium::WebDriver::Remote::Capabilities.firefox(marionette: false))
end

在 Robot / Python 2.7 / ff44.0 中获得相同的东西会在任一方向产生错误。

当木偶开启时:

${dc}   Evaluate    sys.modules['selenium.webdriver'].DesiredCapabilities.FIREFOX  sys, selenium.webdriver
Set To Dictionary    ${dc}    marionette=${True}
Open Browser    ${url_bck_auto}     Firefox     desired_capabilities=${dc}

我明白了:

我们的产品摇滚| 失败 | WebDriverException:消息:不支持的 Marionette 协议版本 2,需要 3

如果我把它关掉,壁虎会把我撞到 ff51.0.1(32 位),我会收到一条不同的消息:

我们的产品摇滚| 失败 | WebDriverException:消息:无法加载配置文件。可能的 Firefox 版本不匹配。对于 Firefox 48+,您必须使用 GeckoDriver。配置文件目录:c:\users\blah\appdata\local\temp\tmpqzlxha\webdriver-
py-profilecopy 如果您在 FirefoxBinary 构造函数中指定了 log_file,请检查它以获取详细信息。

Geckodriver 版本为 0.15.0

任何帮助将不胜感激,谢谢!

4

1 回答 1

0

Windows 10我正在运行Robot Framework 3.0Selenium2Library 1.8.0Selenium 3.0.2当我开始您的示例或简化单曲时,open browser http://google.com我在使用时得到相同的结果Gecko 0.15.0。浏览器启动但未移动到所需页面。驱动程序成功关闭,但浏览器保持打开状态。

当使用相同的设置,但降级Geckodriver to 0.14.0时结果会发生变化,并且浏览器会按预期运行。Close Browser调用关键字时加载页面并关闭。

所以,我建议降级到Geckodriver 0.14.0.

于 2017-03-29T20:41:49.847 回答