Настройте Capybara для использования Marionette WebDriver для 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, как если бы я пытался запустить его без марионетки.


person Alex Haynes    schedule 10.06.2016    source источник


Ответы (1)


марионетке передается параметр Driver.new, а не желательные_возможности

Capybara.register_driver :selenium_firefox do |app|
  Capybara::Selenium::Driver.new(app, browser: :firefox, marionette: true)
end

Также требуется, чтобы вы скачали geckodriver, поместили его на свой путь и переименовали в wires.

Полное описание этих шагов настройки, включая ссылки для скачивания последних исполняемых файлов Marionette может можно найти здесь.

Примечание. Capybara еще не поддерживает марионетку, некоторые вещи в капибаре исправляются, некоторые из них являются ошибками в selenium-webdriver, а другие — просто общая ненадежность — такие вещи, как он, просто перестает выбирать параметры из выбранных элементов — никаких ошибок не выдается, просто перестает работать. Я не думаю, что он готов к использованию в реальном мире.

person Thomas Walpole    schedule 11.06.2016