随着 Marionette 取代 FirefoxDriver,我需要配置我的测试来运行它。
我已经下载了二进制文件,但似乎无法将我的 Capybara 驱动程序注册配置为实际使用 Marionette。
Capybara.register_driver :selenium_firefox do |app|
capabilities = Selenium::WebDriver::Remote::Capabilities.firefox
capabilities["firefox_binary"] = 'path/to/marionette/renamed/to/wires'
Capybara::Selenium::Driver.new(app, browser: :firefox, desired_capabilities: capabilities)
end
但是,当我开始测试时,我只是获得了 FF 的初始页面,就像我尝试在没有牵线木偶的情况下运行它一样。
最佳答案
marionette 被传递给 Driver.new 的一个选项 - 而不是 desired_capabilities
Capybara.register_driver :selenium_firefox do |app|
Capybara::Selenium::Driver.new(app, browser: :firefox, marionette: true)
end
它还要求您下载 geckodriver,将其放在您的路径中并将其重命名为wires
这些配置步骤的完整描述,包括 Marionette 最新的可执行文件下载链接 can be found here .
注意:Capybara 尚不支持牵线木偶,一些东西正在 capybara 中修复,一些是 selenium-webdriver 中的错误,而另一些只是它的一般脆弱性——比如它只是停止从 select 元素中选择选项——没有抛出错误,只是停止工作。我认为它还没有准备好在现实世界中使用。
关于selenium - 配置 Capybara 以使用 Marionette WebDriver for Firefox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37757040/