Skip to content

Commit 262f2cc

Browse files
authored
Correctly wait for async FormValidation (#2221)
1 parent b870ea4 commit 262f2cc

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

src/main/java/org/jenkinsci/test/acceptance/po/FormValidation.java

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import org.jenkinsci.test.acceptance.Matcher;
3434
import org.openqa.selenium.By;
3535
import org.openqa.selenium.Keys;
36+
import org.openqa.selenium.NoSuchElementException;
3637
import org.openqa.selenium.WebElement;
3738

3839
/**
@@ -88,14 +89,16 @@ public static FormValidation await(Control control, boolean silent) {
8889
element.sendKeys(Keys.TAB);
8990

9091
// Wait for validation area to stop being <div></div>
91-
validationArea = control.waitFor().until(() -> {
92-
// path to validation area is the parents sibling with class `validation-error-area`
93-
String xpath = silent
94-
? "../../div[contains(@class,'validation-error-area')]"
95-
: "../../div[contains(@class,'validation-error-area--visible')]";
96-
97-
return element.findElement(by.xpath(xpath));
98-
});
92+
validationArea = control.waitFor()
93+
.ignoring(NoSuchElementException.class)
94+
.until(() -> {
95+
// path to validation area is the parents sibling with class `validation-error-area`
96+
String xpath = silent
97+
? "../../div[contains(@class,'validation-error-area')]"
98+
: "../../div[contains(@class,'validation-error-area--visible')]";
99+
100+
return element.findElement(by.xpath(xpath));
101+
});
99102
}
100103

101104
return new FormValidation(validationArea);

0 commit comments

Comments
 (0)