В одном из наших проектов мы запускаем длительные задания на удаленных узлах. Эта работа иногда может занять несколько часов. Мы использовали старую версию приложения, которое использует старую версию Selenium WebDriver. И прекрасно работает уже много лет. Теперь мы перешли на новую версию того приложения, которое использует новую версию selenium WebDriver. И он перестает работать. Я просмотрел всю трассировку стека и увидел проблему в классе
org.openqa.selenium.remote.server.WebDriverServlet
Когда вы запускаете любого исполнителя, вы жестко запрограммировали тайм-аут на 10 минут.
try {
execution.get(10, MINUTES);
} catch (ExecutionException e) {
resp.reset();
JeeInterop.execute(new ExceptionHandler(e), req, resp);
} catch (InterruptedException e) {
logger.log(Level.WARNING, "Unexpectedly interrupted: " + e.getMessage(), e);
invalidateSession = true;
Thread.currentThread().interrupt();
} catch (TimeoutException e) {
invalidateSession = true;
}
Это именно то, что я вижу в нашем новом приложении. Я пытаюсь установить любой тайм-аут, но сессия закрывается через 10 минут.
Не могли бы вы объяснить, почему вы это делаете? Кажется, это ошибка. Знаете ли вы какой-нибудь обходной путь, чтобы заставить его работать?
С уважением