Тайм-аут соединения Selenium Webdriver при выполнении тестов автоматизации - PullRequest
0 голосов
/ 02 мая 2019

При выполнении автоматических тестов иногда я получаю сообщение об ошибке тайм-аута для Selenium Webdriver (я думаю, что именно в этом и заключается проблема).Я и моя команда все недавно перешли на Macbooks (с комбинации компьютеров с Windows и Ubunutu) и все испытывают такое поведение.

При выполнении набора тестов я получу (казалось бы, наугад) следующую ошибкувывод в консоль:

Errno::ETIMEDOUT: Failed to open TCP connection to 127.0.0.1:9515 (Operation timed out - connect(2) for "127.0.0.1" port 9515)

Это не происходит последовательно, иногда я запускаю пакет и не вижу таких ошибок, иногда у меня будет несколько случаев.

Здесьэто код, который регистрирует драйвер (на случай, если что-либо здесь указывает на проблему):

Capybara.register_driver :selenium do |app|
  opts = Selenium::WebDriver::Chrome::Options.new
  opts.add_argument '--start-maximized'
  opts.add_argument 'disable-infobars'
  opts.add_argument '--disable-notifications'
  opts.add_preference(:safebrowsing,
                      enabled: true)
  opts.add_preference(:browser, set_download_behavior: { behavior: 'allow' })
  Capybara::Selenium::Driver.new(app, browser: :chrome, options: opts)
end

Я использую драгоценные камни: Капибара (3.11.0), Огурец (3.1.0) иSelenium-webdriver (3.141.0).У меня ChromeDriver (73.0.3683.68) установлен через HomeBrew

Кто-нибудь сталкивался с этой проблемой и выяснил, в чем причина?

1 Ответ

1 голос
/ 02 мая 2019

Порт 9515 - это используемый по умолчанию порт chromedriver. Если вы используете Chrome / chromedriver v74, попробуйте откат к 73 или вперед к 75 - 74, как сообщается, возникли проблемы, при которых он зависал случайным образом.

Другим потенциальным решением является обновление до Capybara> = 3.16.0, в котором по умолчанию используется постоянное соединение с chromedriver. Это будет означать меньшее открытие / закрытие соединений и меньшую вероятность зависания chromedriver во время установления соединения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...