From 0bce02a3f8acc12b9b62ad6bf27b815946efa87d Mon Sep 17 00:00:00 2001 From: emaks Date: Fri, 13 Oct 2023 09:40:14 +0300 Subject: [PATCH] Skip StaleElementReferenceException while use waitUntil*() methods (#3285) --- .../net/serenitybdd/core/pages/WebElementFacadeImpl.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/serenity-core/src/main/java/net/serenitybdd/core/pages/WebElementFacadeImpl.java b/serenity-core/src/main/java/net/serenitybdd/core/pages/WebElementFacadeImpl.java index c161a6bdd..bd012dd93 100644 --- a/serenity-core/src/main/java/net/serenitybdd/core/pages/WebElementFacadeImpl.java +++ b/serenity-core/src/main/java/net/serenitybdd/core/pages/WebElementFacadeImpl.java @@ -18,6 +18,7 @@ import net.thucydides.core.webdriver.stubs.WebElementFacadeStub; import org.apache.commons.lang3.StringUtils; import org.openqa.selenium.NoSuchElementException; +import org.openqa.selenium.StaleElementReferenceException; import org.openqa.selenium.*; import org.openqa.selenium.interactions.Actions; import org.openqa.selenium.interactions.Coordinates; @@ -1045,7 +1046,10 @@ private boolean hasValueAttribute(WebElement element) { @Override public Wait waitForCondition() { - return new FluentWait<>(driver, webdriverClock, sleeper).withTimeout(Duration.ofMillis(waitForTimeoutInMilliseconds)).pollingEvery(Duration.ofMillis(WAIT_FOR_ELEMENT_PAUSE_LENGTH)).ignoring(NoSuchElementException.class, NoSuchFrameException.class); + return new FluentWait<>(driver, webdriverClock, sleeper) + .withTimeout(Duration.ofMillis(waitForTimeoutInMilliseconds)) + .pollingEvery(Duration.ofMillis(WAIT_FOR_ELEMENT_PAUSE_LENGTH)) + .ignoring(NoSuchElementException.class, NoSuchFrameException.class, StaleElementReferenceException.class); } @Override