package org.vaadin.tori.tb;
import java.util.Arrays;
import java.util.List;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import com.vaadin.testbench.By;
import com.vaadin.testbench.TestBench;
public class TBUtils {
public static final String TARGET_URL = "http://localhost:8081/webapp";
public static WebDriver getFirefoxDriver() {
return TestBench.createDriver(new FirefoxDriver());
}
public static void showDropdowns(final WebDriver driver) {
for (String className : Arrays.asList("dropdown", "v-menubar-menuitem")) {
((JavascriptExecutor) driver)
.executeScript("[].slice.call(document.getElementsByClassName('"
+ className
+ "')).map(function(item){ item.style.visibility = 'visible'; item.style.opacity = 1; })");
}
}
public static List<WebElement> getDropdownItem(final WebDriver driver,
final String itemCaption) {
return driver.findElements(By.xpath("//span[text()[contains(.,'"
+ itemCaption + "')]]"));
}
public static void openFirstDropdown(final WebDriver driver,
final String contextCssSelector) {
TBUtils.showDropdowns(driver);
List<WebElement> dropdowns = driver.findElements(By
.cssSelector(contextCssSelector
+ " .dropdown .v-menubar-menuitem"));
dropdowns.get(0).click();
}
}