package org.qooxdoo.demo.websitewidgetbrowser;
import java.util.Iterator;
import java.util.List;
import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.Actions;
public class Slider extends WebsiteWidgetBrowser {
@BeforeClass
public static void setUpBeforeClass() throws Exception {
WebsiteWidgetBrowser.setUpBeforeClass();
selectTab("Slider");
}
protected void drag(WebElement element, int x, int y) {
Actions mouseAction = new Actions(webDriver);
mouseAction.dragAndDropBy(element, x, y);
mouseAction.perform();
}
@Test
public void slider() throws InterruptedException {
String getValue = "return qxWeb(arguments[0]).getValue();";
JavascriptExecutor exec = (JavascriptExecutor) webDriver;
List<WebElement> sliders = webDriver.findElements(By.xpath("//div[@id = 'slider-page']/descendant::div[contains(@class, 'qx-slider')]"));
Assert.assertEquals(2, sliders.size());
Iterator<WebElement> itr = sliders.iterator();
while (itr.hasNext()) {
WebElement slider = itr.next();
Long valueBefore = (Long) exec.executeScript(getValue, slider);
WebElement knob = slider.findElement(By.xpath("button[contains(@class, 'qx-slider-knob')]"));
drag(knob, 150, 0);
Long valueAfter = (Long) exec.executeScript(getValue, slider);
Assert.assertTrue(valueAfter > valueBefore);
}
}
}