diff options
Diffstat (limited to 'src/main/java/com/att/ecomp/dcae/ci/ui/utils/NestedFinder.java')
-rw-r--r-- | src/main/java/com/att/ecomp/dcae/ci/ui/utils/NestedFinder.java | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/main/java/com/att/ecomp/dcae/ci/ui/utils/NestedFinder.java b/src/main/java/com/att/ecomp/dcae/ci/ui/utils/NestedFinder.java new file mode 100644 index 0000000..ead2bef --- /dev/null +++ b/src/main/java/com/att/ecomp/dcae/ci/ui/utils/NestedFinder.java @@ -0,0 +1,28 @@ +package com.att.ecomp.dcae.ci.ui.utils; + +import java.util.List; + +import org.openqa.selenium.By; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.support.ui.ExpectedCondition; + +public abstract class NestedFinder implements ExpectedCondition<WebElement> { + + private WebElement parent; + private By by; + + public NestedFinder(WebElement parent, By by) { + this.parent = parent; + this.by = by; + } + + abstract protected WebElement predicate(List<WebElement> elements); + + @Override + public WebElement apply(WebDriver input) { + List<WebElement> elements = parent.findElements(by); + return predicate(elements); + } + +} |