diff options
author | Mavlushechka <mavlushechka@gmail.com> | 2022-09-29 22:09:28 +0500 |
---|---|---|
committer | Mavlushechka <mavlushechka@gmail.com> | 2022-09-29 22:09:28 +0500 |
commit | 8b5e81eded249e9eea38b0f019e1d85bc7a75078 (patch) | |
tree | 88d1f6588aa09690afefcc9b479f5a69ccbe5f6a /src/main/java/com/mavlushechka/a1qa/elements | |
parent | 639bb0e384550436308bfd8a8e8c76ceee64c932 (diff) |
Add isAny() method to the BaseElement class
Diffstat (limited to 'src/main/java/com/mavlushechka/a1qa/elements')
3 files changed, 26 insertions, 12 deletions
diff --git a/src/main/java/com/mavlushechka/a1qa/elements/BaseElement.java b/src/main/java/com/mavlushechka/a1qa/elements/BaseElement.java index a2dc55a..a90205d 100644 --- a/src/main/java/com/mavlushechka/a1qa/elements/BaseElement.java +++ b/src/main/java/com/mavlushechka/a1qa/elements/BaseElement.java @@ -9,6 +9,8 @@ import org.openqa.selenium.Dimension; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.ui.ExpectedConditions; +import java.util.List; + public abstract class BaseElement { private final By locator; @@ -21,7 +23,7 @@ public abstract class BaseElement { } public void click() { - WebElement webElement = find(); + WebElement webElement = findElement(); scrollTo(); LoggerUtils.info("Clicking on the \"" + name + "\" element."); @@ -29,14 +31,14 @@ public abstract class BaseElement { } public String getText() { - WebElement webElement = find(); + WebElement webElement = findElement(); LoggerUtils.info("Getting text of the \"" + name + "\" element."); return webElement.getText(); } public boolean isEnabled() { - WebElement webElement = find(); + WebElement webElement = findElement(); LoggerUtils.info("Getting state of the \"" + name + "\" element."); return webElement.isEnabled(); @@ -52,32 +54,44 @@ public abstract class BaseElement { return WebDriverWaitFactory.createWebDriverWait().until(ExpectedConditions.invisibilityOfElementLocated(locator)); } + public boolean isAny() { + List<WebElement> webElements = findElements(); + + LoggerUtils.info("Getting any \"" + name + "\" elements."); + return webElements.size() > 0; + } + public String getName() { return name; } public Dimension getDimension() { - WebElement webElement = find(); + WebElement webElement = findElement(); LoggerUtils.info("Getting dimension of the \"" + name + "\" element."); return webElement.getSize(); } public String getAttributeValue(String attribute) { - WebElement webElement = find(); + WebElement webElement = findElement(); LoggerUtils.info("Getting \"" + attribute + "\" attribute of the \"" + name + "\" element."); return webElement.getAttribute(attribute); } - protected WebElement find() { + protected WebElement findElement() { isVisible(); LoggerUtils.info("Finding the \"" + name + "\" element."); return WebDriverUtils.findElement(locator); } + protected List<WebElement> findElements() { + LoggerUtils.info("Finding the \"" + name + "\" elements."); + return WebDriverUtils.findElements(locator); + } + protected void scrollTo() { - WebElement webElement = find(); + WebElement webElement = findElement(); LoggerUtils.info("Scrolling to the \"" + name + "\" element."); ActionUtils.scrollTo(webElement); diff --git a/src/main/java/com/mavlushechka/a1qa/elements/Field.java b/src/main/java/com/mavlushechka/a1qa/elements/Field.java index 99cd41d..7ac3806 100644 --- a/src/main/java/com/mavlushechka/a1qa/elements/Field.java +++ b/src/main/java/com/mavlushechka/a1qa/elements/Field.java @@ -16,21 +16,21 @@ public class Field extends BaseElement { } public void sendKeys(String keys, boolean isSecret) { - WebElement field = find(); + WebElement field = findElement(); LoggerUtils.info("Entering \"" + (isSecret ? StringUtils.replaceByStars(keys) : keys) + "\" keys to the \"" + getName() + "\" field."); field.sendKeys(keys); } public void clear() { - WebElement field = find(); + WebElement field = findElement(); LoggerUtils.info("Clearing the \"" + getName() + "\" field."); field.clear(); } public String getValue() { - return find().getAttribute("value"); + return findElement().getAttribute("value"); } } diff --git a/src/main/java/com/mavlushechka/a1qa/elements/Slider.java b/src/main/java/com/mavlushechka/a1qa/elements/Slider.java index 45c1e69..1261733 100644 --- a/src/main/java/com/mavlushechka/a1qa/elements/Slider.java +++ b/src/main/java/com/mavlushechka/a1qa/elements/Slider.java @@ -14,7 +14,7 @@ public class Slider extends BaseElement { } public void slideTo(int percentage) { - WebElement slider = find(); + WebElement slider = findElement(); Point currentPoint = new Point((int) Math.round(DoubleUtils.getPercentageOf(slider.getSize().getWidth(), getValue())-getDimension().width/2.0), 0); Point expectedPoint = new Point((int) Math.round(DoubleUtils.getPercentageOf(slider.getSize().getWidth(), percentage)-getDimension().width/2.0), 0); @@ -23,7 +23,7 @@ public class Slider extends BaseElement { } public int getValue() { - return Integer.parseInt(find().getAttribute("value")); + return Integer.parseInt(findElement().getAttribute("value")); } } |