Есть ли способ, чтобы предотвратить селен автоматически прекратить бездействующие сеансы? - PullRequest
1 голос
/ 31 марта 2019

Я использую селен для автоматизации некоторых взаимодействий с веб-сайтами.Этот процесс включает в себя открытие нескольких браузеров и их периодическое выполнение.Однако иногда бывают длительные (> 1 часа) периоды бездействия, и селен, кажется, автоматически убивает сеансы браузера после ~ 30 минут отсутствия вызова.

Я хотел бы установить это время ожидания на 7 часов или около того, но я не могу найти какой-либо способ сделать это.

Это сообщение Селен отправляет, так как оно закрывает незанятый браузер.

13:06:35.277 INFO [ActiveSessions$1.onStop] - Removing session 70a1b8cbae6876cde7e66df13b3942d1 (org.openqa.selenium.chrome.ChromeDriverService)

Если у кого-либо есть какие-либо отведения, я был бы очень благодарен,В настоящее время я просто автоматически обновляю браузеры каждые 15 минут, чтобы предотвратить тайм-ауты, но это кажется грубым.

1 Ответ

0 голосов
/ 03 апреля 2019

Это сообщение об ошибке ...

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 Command:

    $>java -jar selenium-server-standalone-3.14.0.jar -help
    
  • Вывод:

-timeout, -sessionTimeout: <Integer> в секундах. Указывает время ожидания, по истечении которого сервер автоматически завершает сеанс, в котором не было никаких действий.последние X секунд.Тестовый слот будет выпущен для другого теста.Это обычно используется, чтобы заботиться о сбоях клиента.Для ролей концентратора / узла сетки также должен быть установлен cleanUpCycle.

  • Значение по умолчанию: 1800

  • Снимок:

timeout

Следовательно, вы видите тайм-аут, и появляется Селен автоматически убивает сеанс браузера через ~ 30 минут после не вызова.


Решение

Вы можете увеличить -timeout / -sessionTimeout следующим образом:

$>java -jar /path/to/selenium-server-standalone-3.14.0.jar -sessionTimeout 57868143
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...