1 Вопрос: Тайм-аут соединения Selenium Webdriver при выполнении тестов автоматизации

вопрос создан в Thu, May 2, 2019 12:00 AM

При выполнении тестов автоматизации я иногда получаю сообщение об ошибке тайм-аута для 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

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

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

    
0
1 ответ                              1                         

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

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

    
1
2019-05-03 15: 58: 45Z
  1. К сожалению, я использую ChromeDriver 73.0.3683.68, установленный с помощью HomeBrew. Я добавлю эти детали в вопрос
    2019-05-02 16: 21: 20Z
  2. @ Brayw Другая вещь, которую стоит попробовать, - обновить Capybara до > = 3.16. v3.16.0 перешел на использование постоянного соединения, что означало бы меньше открытия /закрытия соединений
    2019-05-02 16: 42: 00Z
  3. Кажется, это сработало (по крайней мере, после нескольких часов выполнения тестов у меня не было ни одной ошибки тайм-аута). Если вы добавите свое решение в ответ, я приму его, большое спасибо!
    2019-05-03 14: 11: 51Z
  4. @ Brayw Обновил ответ.
    2019-05-03 16: 00: 29Z
источник размещен Вот