package org.qooxdoo.demo; import io.selendroid.SelendroidCapabilities; import io.selendroid.SelendroidDriver; import java.net.URL; import org.oneandone.qxwebdriver.QxWebDriver; import org.openqa.selenium.Platform; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.RemoteWebDriver; public class Configuration { protected static DesiredCapabilities getCapabilities (String browserName) { DesiredCapabilities capabilities = null; if (browserName.equals("chrome")) { capabilities = DesiredCapabilities.chrome(); } else if (browserName.equals("ie") || browserName.contains("explorer")) { capabilities = DesiredCapabilities.internetExplorer(); } else if (browserName.equals("opera")) { capabilities = DesiredCapabilities.opera(); } else if (browserName.equals("safari")) { capabilities = DesiredCapabilities.safari(); } else if (browserName.equals("android")) { capabilities = DesiredCapabilities.android(); } else if (browserName.equals("ipad")) { capabilities = DesiredCapabilities.ipad(); } else if (browserName.equals("iphone")) { capabilities = DesiredCapabilities.iphone(); } else if (browserName.equals("phantomjs")) { capabilities = DesiredCapabilities.phantomjs(); } else { capabilities = DesiredCapabilities.firefox(); } return capabilities; } protected static Platform getPlatform(String platformName) { Platform platform = null; if (platformName.equals("linux")) { platform = Platform.LINUX; } else if (platformName.equals("mac")) { platform = Platform.MAC; } else if (platformName.equals("xp")) { platform = Platform.XP; } else if (platformName.equals("win7")) { platform = Platform.VISTA; } else if (platformName.equals("win8")) { platform = Platform.WIN8; } else if (platformName.startsWith("win")) { platform = Platform.WINDOWS; } else if (platformName.equals("android")) { platform = Platform.ANDROID; } else { platform = Platform.ANY; } return platform; } public static WebDriver getWebDriver() throws Exception { WebDriver webDriver; String hubUrl = System.getProperty("org.qooxdoo.demo.huburl"); String browserName = System.getProperty("org.qooxdoo.demo.browsername", "firefox"); String browserVersion = System.getProperty("org.qooxdoo.demo.browserversion"); String platformName = System.getProperty("org.qooxdoo.demo.platform", "any"); if (hubUrl == null) { if (browserName.equals("chrome")) { webDriver = new ChromeDriver(); } else if (browserName.equals("android")) { DesiredCapabilities caps = SelendroidCapabilities.android(); webDriver = new SelendroidDriver(caps); } else { webDriver = new FirefoxDriver(); } } else { DesiredCapabilities browser = getCapabilities(browserName); if (browserVersion != null) { browser.setVersion(browserVersion); } browser.setPlatform(getPlatform(platformName)); webDriver = new RemoteWebDriver(new URL(hubUrl), browser); } return webDriver; } public static QxWebDriver getQxWebDriver() throws Exception { WebDriver webDriver = getWebDriver(); QxWebDriver qxWebDriver = new QxWebDriver(webDriver); return qxWebDriver; } }