From cae58cb0dc1756aab9ca84a423094420df622439 Mon Sep 17 00:00:00 2001 From: Ricardo Martin Date: Tue, 4 Feb 2025 10:06:00 +0100 Subject: [PATCH] Manage exceptions in waitForPageToLoad for chrome error in version 132 Closes #36781 Closes #36782 Closes #36902 Signed-off-by: rmartinc (cherry picked from commit efbeb8caa6170cfc870ac99757cdaedb22dcbbcc) --- .../org/keycloak/testsuite/util/WaitUtils.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/WaitUtils.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/WaitUtils.java index b21717bed93..8ef9aacfb33 100644 --- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/WaitUtils.java +++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/util/WaitUtils.java @@ -135,13 +135,17 @@ public final class WaitUtils { // Ensure the URL is "stable", i.e. is not changing anymore; if it'd changing, some redirects are probably still in progress for (int maxRedirects = 4; maxRedirects > 0; maxRedirects--) { - currentUrl = driver.getCurrentUrl(); - FluentWait wait = new FluentWait<>(driver).withTimeout(Duration.ofMillis(250)); try { + currentUrl = driver.getCurrentUrl(); + FluentWait wait = new FluentWait<>(driver).withTimeout(Duration.ofMillis(250)); wait.until(not(urlToBe(currentUrl))); - } - catch (TimeoutException e) { - break; // URL has not changed recently - ok, the URL is stable and page is current + } catch (TimeoutException e) { + if (driver.getPageSource() != null) { + break; // URL has not changed recently - ok, the URL is stable and page is current + } + } catch (Exception e) { + log.warnf("Unknown exception thrown waiting stabilization of the URL: %s", e.getMessage()); + pause(250); } if (maxRedirects == 1) { log.warn("URL seems unstable! (Some redirect are probably still in progress)");