diff options
author | Mavlushechka <mavlushechka@gmail.com> | 2022-09-20 21:13:24 +0500 |
---|---|---|
committer | Mavlushechka <mavlushechka@gmail.com> | 2022-09-20 21:13:24 +0500 |
commit | 3b1af3333d687e354ab9fa0a475ae7ef74b740f9 (patch) | |
tree | 3341bf5457adbc3f317fdbd6120036dc19bd7551 /src/main/java/com/mavlushechka/a1qa/elements/BaseElement.java | |
parent | 528fbeb1542ffba584eecf8bc07528d1633f4fa5 (diff) |
Add testing framework
Diffstat (limited to 'src/main/java/com/mavlushechka/a1qa/elements/BaseElement.java')
-rw-r--r-- | src/main/java/com/mavlushechka/a1qa/elements/BaseElement.java | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/src/main/java/com/mavlushechka/a1qa/elements/BaseElement.java b/src/main/java/com/mavlushechka/a1qa/elements/BaseElement.java new file mode 100644 index 0000000..edcf1e7 --- /dev/null +++ b/src/main/java/com/mavlushechka/a1qa/elements/BaseElement.java @@ -0,0 +1,71 @@ +package com.mavlushechka.a1qa.elements; + +import com.mavlushechka.a1qa.driverUtils.WebDriverUtils; +import com.mavlushechka.a1qa.utils.LoggerUtils; +import org.openqa.selenium.By; +import org.openqa.selenium.Dimension; +import org.openqa.selenium.WebElement; + +public abstract class BaseElement { + + private final By locator; + private final String name; + + + public BaseElement(By locator, String name) { + this.locator = locator; + this.name = name; + } + + public void click() { + WebElement webElement = find(); + + LoggerUtils.info("Clicking on the \"" + name + "\" element."); + webElement.click(); + } + + public String getText() { + WebElement webElement = find(); + + LoggerUtils.info("Getting text of the \"" + name + "\" element."); + return webElement.getText(); + } + + public boolean isEnabled() { + WebElement webElement = find(); + + LoggerUtils.info("Getting state of the \"" + name + "\" element."); + return webElement.isEnabled(); + } + + public boolean isVisible() { + WebElement webElement = find(); + + LoggerUtils.info("Getting visibility of the \"" + name + "\" element."); + return webElement.isDisplayed(); + } + + public String getName() { + return name; + } + + public Dimension getDimension() { + WebElement webElement = find(); + + LoggerUtils.info("Getting dimension of the \"" + name + "\" element."); + return webElement.getSize(); + } + + public String getAttributeValue(String attribute) { + WebElement webElement = find(); + + LoggerUtils.info("Getting \"" + attribute + "\" attribute of the \"" + name + "\" element."); + return webElement.getAttribute(attribute); + } + + protected WebElement find() { + LoggerUtils.info("Finding the \"" + name + "\" element."); + return WebDriverUtils.findElement(locator); + } + +} |