diff options
Diffstat (limited to 'src/main/java/com/mavlushechka/a1qa/elements/Slider.java')
-rw-r--r-- | src/main/java/com/mavlushechka/a1qa/elements/Slider.java | 29 |
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")); + } + +} |