summaryrefslogtreecommitdiff
path: root/src/main/java/com/mavlushechka/a1qa/elements/BaseElement.java
diff options
context:
space:
mode:
authorMavlushechka <mavlushechka@gmail.com>2022-09-20 21:13:24 +0500
committerMavlushechka <mavlushechka@gmail.com>2022-09-20 21:13:24 +0500
commit3b1af3333d687e354ab9fa0a475ae7ef74b740f9 (patch)
tree3341bf5457adbc3f317fdbd6120036dc19bd7551 /src/main/java/com/mavlushechka/a1qa/elements/BaseElement.java
parent528fbeb1542ffba584eecf8bc07528d1633f4fa5 (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.java71
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);
+ }
+
+}