Есть ли способ, чтобы предотвратить селен автоматически прекратить бездействующие сессии?
Я использую селен для автоматизации некоторых взаимодействий с веб-сайтами. Этот процесс включает в себя открытие нескольких браузеров и их периодическое выполнение. Однако иногда бывают длительные (> 1 часа) периоды бездействия, и селен, по-видимому, автоматически убивает сеансы браузера после ~30 минут отсутствия вызова.
Я хотел бы установить этот тайм-аут на 7 часов или около того, но я не могу найти способ сделать это.
Это сообщение селен отправляет, так как оно закрывает незанятый браузер.
13:06:35.277 INFO [ActiveSessions$1.onStop] - Removing session 70a1b8cbae6876cde7e66df13b3942d1 (org.openqa.selenium.chrome.ChromeDriverService)
Если у кого-то есть какие-либо выводы, я был бы очень благодарен. В настоящее время я просто автоматически обновляю браузеры каждые 15 минут, чтобы предотвратить тайм-ауты, но это кажется грубым.
1 ответ
Это сообщение об ошибке...
INFO [ActiveSessions$1.onStop] - Removing session 70a1b8cbae6876cde7e66df13b3942d1 (org.openqa.selenium.chrome.ChromeDriverService)
... подразумевает, что уже инициированный / порожденный новый сеанс браузера Chrome был прерван.
Эта проблема наблюдается с конфигурацией Selenium Grid Hub/Node и / или реализацией RemoteWebdriver.
Если вы соблюдаете -help
из selenium-server-standalone-x.y.z.jar
по умолчанию -timeout
/ -sessionTimeout
установлен на 1800 секунд.
Команда CLI:
$>java -jar selenium-server-standalone-3.14.0.jar -help
Выход:
-timeout
,-sessionTimeout
:<Integer>
в секундах: указывает время ожидания, по истечении которого сервер автоматически завершает сеанс, который не выполнялся в течение последних X секунд. Тестовый слот будет выпущен для другого теста. Это обычно используется, чтобы заботиться о сбоях клиента. Для ролей узлов / узлов сетки также должен быть установлен cleanUpCycle.
Значение по умолчанию: 1800
Снимок:
Следовательно, вы видите тайм-аут, и кажется, что селен автоматически убивает сеанс браузера через ~30 минут без вызова.
Решение
Вы можете увеличить -timeout
/ -sessionTimeout
следующее:
$>java -jar /path/to/selenium-server-standalone-3.14.0.jar -sessionTimeout 57868143