配置 Capybara 以使用 Marionette WebDriver for Firefox
Configure Capybara to use Marionette WebDriver for Firefox
随着 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 的情况下尝试 运行 它一样。
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 尚不支持 marionette,一些问题正在水豚中修复,一些是 selenium-webdriver 中的错误,还有一些只是它的一般缺陷 - 就像它只是停止 selecting 来自 select 元素的选项 - 没有抛出错误,只是停止工作。我认为它还没有准备好在现实世界中使用。
随着 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 的情况下尝试 运行 它一样。
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 尚不支持 marionette,一些问题正在水豚中修复,一些是 selenium-webdriver 中的错误,还有一些只是它的一般缺陷 - 就像它只是停止 selecting 来自 select 元素的选项 - 没有抛出错误,只是停止工作。我认为它还没有准备好在现实世界中使用。