我被要求评估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
如果我将其关闭,gecko会让我碰到ff51.0.1(32位)并收到不同的消息:
我们的产品摇滚|失败| WebDriverException:消息:无法加载配置文件。可能是firefox 版本不匹配。您必须使用GeckoDriver代替Firefox 48+。 个人资料目录:c:\ users \ blah \ appdata \ local \ temp \ tmpqzlxha \ webdriver-
py-profilecopy如果在FirefoxBinary中指定了log_file 构造函数,检查它的详细信息。
Geckodriver是版本0.15.0
任何帮助将不胜感激,谢谢!
答案 0 :(得分:0)
在Windows 10
我正在运行Robot Framework 3.0
,Selenium2Library 1.8.0
,Selenium 3.0.2
,当我开始您的示例时,或简化的单open browser http://google.com
我得到使用Gecko 0.15.0
时的结果相同。浏览器启动但未移至所需页面。驱动程序成功关闭但浏览器保持打开状态。
使用相同的设置时,但降级Geckodriver to 0.14.0
结果会发生变化,浏览器会按预期运行。加载页面并在调用Close Browser
关键字时关闭。
所以,我建议降级到Geckodriver 0.14.0
。