Ошибка Selenium ReadTimeout при подключении - PullRequest
0 голосов
/ 30 мая 2020

Сборка моего самого первого теста с Selenium + Ruby. Есть этап, на котором я должен войти в систему. Я передаю логин и пароль, затем скрипт нажимает кнопку «Войти».

Процесс входа в систему может занять некоторое время (особенности системы - это постоянно так и хорошо). Итак, пока мой скрипт ожидает входа в систему, через ~ 100 секунд мой код прерывается с ошибкой: /usr/local/Cellar/ruby@2.5/2.5.8/lib/ruby/2.5.0/net/protocol.rb:181:in `rbuf_fill': Net::ReadTimeout (Net::ReadTimeout)

Я предполагаю, что мне нужно настроить что-то вроде timeout тайминга до 240 se c например, но не могу найти правильный способ сделать это.

Не могли бы вы помочь мне настроить правильное свойство тайм-аута, пожалуйста?

Спасибо!

require 'selenium-webdriver'


driver = Selenium::WebDriver.for :chrome
# driver.manage.timeouts.implicit_wait = 240 - Tried it, didn't help
# driver.manage.timeouts.page_load = 240 - 

driver.navigate.to 'https://webiste.com'

#Entering my login and password
driver.find_element(id: 'admin_user_email').send_keys('MY_LOGIN')
driver.find_element(id: 'admin_user_password').send_keys('MY_PASSWORD')

#Clicking Login button and at this step my script breaks after ~100 sec
driver.find_element(id: 'admin_user_submit_action').click

driver.navigate.to 'https://another_URL_after_logged_in'

puts 'You are on the page'

1 Ответ

1 голос
/ 30 мая 2020

Как и просили в комментариях. Таймаут можно увеличить, выполнив следующие действия:

client = Selenium::WebDriver::Remote::Http::Default.new
client.timeout = 240 # Or whatever you need
driver = Selenium::WebDriver.for :chrome, :http_client => client
...