protected void setUp() throws Exception { if (!isConfigured()) { DOMConfigurator.configure("log4j.xml"); iConfigured = true; } configProperties = new Properties(); try { configProperties.load( TestBase.class.getClassLoader().getResourceAsStream("config.properties")); } catch (IOException e) { e.printStackTrace(); } useRemote = Boolean.parseBoolean(configProperties.getProperty("use_remote")); bro = configProperties.getProperty("browser"); chromeDriver = configProperties.getProperty("chromedriver"); ieDriver = configProperties.getProperty("iedriver"); if (useRemote) { File profileDir = new File(getClass().getResource("/seleniumProfile").getFile()); FirefoxProfile profile = new FirefoxProfile(profileDir); DesiredCapabilities capabilities = DesiredCapabilities.firefox(); capabilities.setCapability(FirefoxDriver.PROFILE, profile); capabilities.setCapability("binary", "/usr/bin/firefox"); String remoteUrl = configProperties.getProperty("selenium_remote_url"); driver = new RemoteWebDriver(new URL(remoteUrl), capabilities); ((RemoteWebDriver) driver).setFileDetector(new LocalFileDetector()); } else { if (bro.toLowerCase().equals("firefox")) { File profileDir = null; profileDir = new File(getClass().getResource("/seleniumProfile").getFile()); FirefoxProfile profile = new FirefoxProfile(profileDir); driver = new FirefoxDriver(profile); } if (bro.toLowerCase().equals("chrome")) { System.setProperty("webdriver.chrome.driver", chromeDriver); Map<String, Object> prefs = new HashMap<String, Object>(); prefs.put("download.default_directory", "target"); DesiredCapabilities caps = DesiredCapabilities.chrome(); ChromeOptions options = new ChromeOptions(); options.setExperimentalOption("prefs", prefs); caps.setCapability(ChromeOptions.CAPABILITY, options); driver = new ChromeDriver(caps); } if (bro.toLowerCase().equals("ie")) { DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer(); capabilities.setCapability( InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true); System.setProperty("webdriver.ie.driver", ieDriver); capabilities.setCapability("ignoreZoomSetting", true); capabilities.setCapability("nativeEvents", false); driver = new InternetExplorerDriver(capabilities); } } int timeout = Integer.parseInt(configProperties.getProperty("driver_timeout")); driver.manage().timeouts().implicitlyWait(timeout, TimeUnit.SECONDS); }
protected static RemoteWebDriver createSauce( final Platform os, final String browser, final String version) throws MalformedURLException { final DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(CapabilityType.BROWSER_NAME, browser); if (version != null) { capabilities.setCapability(CapabilityType.VERSION, version); } capabilities.setCapability(CapabilityType.PLATFORM, os); capabilities.setCapability("name", "Package Drone Main Test"); final RemoteWebDriver driver = new RemoteWebDriver( new URL( String.format( "http://%s:%[email protected]:80/wd/hub", SAUCE_USER_NAME, SAUCE_ACCESS_KEY)), capabilities); driver.setFileDetector(new LocalFileDetector()); return driver; }