selenium - 配置 Capybara 以使用 Marionette WebDriver for Firefox

标签 selenium capybara selenium-firefoxdriver firefox-marionette

随着 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/

相关文章:

python - 了解 Selenium Web 元素列表

xpath - 我可以将 xpath 2.0 与 firefox 和 selenium 一起使用吗?

google-chrome - capybara 测试后 Chrome 驱动程序不会退出

ruby-on-rails - Rails、Capybara.using_session(...)、访问页面和进行 ruby​​-debug 导致 rspec 套件在运行后似乎挂起,即使所有规范都通过

Selenium 读取 DOM 速度极慢

Python Selenium - FireFox 网络驱动程序配置文件首选项中可能的键是什么

selenium - Selenium 中是否可以通过部分 id 匹配来定位元素

Java:字符串等于不适用于innerHTML 文本

ruby-on-rails - 如何使用 Selenium 测试 jQuery TokenInput 字段

python - 是否可以通过 selenium 和 python 计算性能测试?