summaryrefslogtreecommitdiff
path: root/src/main/java/com/mavlushechka/a1qa/elements/Slider.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/mavlushechka/a1qa/elements/Slider.java')
-rw-r--r--src/main/java/com/mavlushechka/a1qa/elements/Slider.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/main/java/com/mavlushechka/a1qa/elements/Slider.java b/src/main/java/com/mavlushechka/a1qa/elements/Slider.java
new file mode 100644
index 0000000..45c1e69
--- /dev/null
+++ b/src/main/java/com/mavlushechka/a1qa/elements/Slider.java
@@ -0,0 +1,29 @@
+package com.mavlushechka.a1qa.elements;
+
+import com.mavlushechka.a1qa.driverUtils.ActionUtils;
+import com.mavlushechka.a1qa.utils.DoubleUtils;
+import com.mavlushechka.a1qa.utils.LoggerUtils;
+import org.openqa.selenium.By;
+import org.openqa.selenium.Point;
+import org.openqa.selenium.WebElement;
+
+public class Slider extends BaseElement {
+
+ public Slider(By locator, String name) {
+ super(locator, name);
+ }
+
+ public void slideTo(int percentage) {
+ WebElement slider = find();
+ 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);
+
+ LoggerUtils.info("Sliding on the \"" + getName() + "\" element.");
+ ActionUtils.dragAndDrop(slider, currentPoint, expectedPoint);
+ }
+
+ public int getValue() {
+ return Integer.parseInt(find().getAttribute("value"));
+ }
+
+}