Firefox по умолчанию, но все еще получает WebDriverError: невозможно подключиться к chromedriver 127.0.0.1:9515 - PullRequest
0 голосов
/ 26 августа 2018

Я настраиваю Capybara впервые, и кажется, что она по умолчанию вызывает Chrome вместо Firefox.

Сначала я получил ошибку веб-драйвера:

Селен :: WebDriver :: Error :: WebDriverError: невозможно подключиться к chromedriver 127.0.0.1:9515* со связанной трассировкой стека
https://pastebin.com/TW5NWJgu

Мне удалось очистить это, добавив gem 'chromedriver-helper', и теперь тест открывается с хромом.

Я также попытался добавить это как в spec_helper, так и в rails_helper:

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

Мне удалось подтвердить, что rails смог успешно вызвать firefox, потому что следующая команда в rails_helper успешно запускает Firefox (но не предпринимает никаких дальнейших действий) при запуске теста (согласно комментариям, я позже удалил эту команду ).

RSpec.configure do |config|
    driver = Selenium::WebDriver.for :firefox
end

Я получаю ту же ошибку на отдельной машине и в другом приложении rails (также не было настройки geckodriver при первом проходе Capybara)

Насколько я понимаю, Capybara должна вызывать Firefox по умолчанию. Кажется, где-то есть вторая конфигурация, которую я не могу найти. У кого-нибудь есть идеи, где я могу найти строку, которая вызывает Chrome?

1 Ответ

0 голосов
/ 27 августа 2018

Из предоставленного вами файла журнала видно, что вы используете Rails 5.1, RSpec 3.8 и Capybara 2.18.Поскольку журнал также включает в себя «actionpack-5.1.6 / lib / action_dispatch / system_testing / driver.rb», мы можем сказать, что вы пишете системные тесты / спецификации (через rspec-rails).Драйвер, используемый системными тестами, контролируется методом driven_by, как описано в системных документах RSpec , и по умолчанию используется зарегистрированный драйвер Rails :selenium, настроенный для использования Chrome.Как описано в документации Rails System Test , вы можете переключиться на Firefox, указав

driven_by :selenium, using: :firefox

Кроме того, Capybara 2.18 в настоящее время в значительной степени устарел.Возможно, вы захотите обновить его до последней версии (3.6 на данный момент), если вы планируете использовать последние версии Firefox / Chrome.

...