rspe c: перезапуск браузера на Chrome недостижимые исключения - PullRequest
0 голосов
/ 04 марта 2020

Я использую rspe c 3.9, капибару 3.16 и selenium-webdriver 3.141 с chrome 73 для тестирования большого веб-приложения. У меня много характеристик, и рано или поздно chrome перестает отвечать, я вижу открытое окно, но ничего не происходит. Это происходит и в режиме без головы. Нет никакого шаблона для этого, это просто случается случайным образом.

Failure/Error: example.run

          Selenium::WebDriver::Error::WebDriverError:
            chrome not reachable
              (Session info: chrome=73.0.3683.86)
              (Driver info: chromedriver=73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72),platform=Linux 3.10.0-1062.12.1.el7.x86_64 x86_64)

Я хотел бы сделать что-то вроде:

config.after(:each, type: :feature) do |example|
   if example.exception
      # restart chrome!
   end
end

В сочетании с rspe c -повто постараюсь до 3 раз. Но я не уверен, как перезапустить браузер.

Кто-нибудь знает, как это сделать?

1 Ответ

1 голос
/ 04 марта 2020

Вы можете выйти из сеанса с помощью Capybara.current_session.quit. Это приведет к запуску нового экземпляра Chrome при следующем вызове visit. https://www.rubydoc.info/github/teamcapybara/capybara/Capybara/Session: бросить курить

...