List of usage examples for org.openqa.selenium.remote DesiredCapabilities merge
@Override
public DesiredCapabilities merge(Capabilities extraCapabilities)
From source file:com.atanas.kanchev.testframework.selenium.driverfactory.DesiredCapsFactory.java
License:Apache License
/** * <p>mergeCapabilities.</p> * * @param sourceCaps a {@link org.openqa.selenium.remote.DesiredCapabilities} object. * @param newCaps a {@link org.openqa.selenium.remote.DesiredCapabilities} object. * @return a {@link org.openqa.selenium.remote.DesiredCapabilities} object. *///w ww. ja v a 2 s . c om public DesiredCapabilities mergeCapabilities(DesiredCapabilities sourceCaps, DesiredCapabilities newCaps) { logger.debug("Merging capabilities [NEW_CAPS]: " + newCaps + " into [SOURCE]: " + sourceCaps); return caps = sourceCaps.merge(newCaps); }
From source file:com.mengge.service.local.AppiumServiceBuilder.java
License:Apache License
/** * @param capabilities is an instance of * {@link org.openqa.selenium.remote.DesiredCapabilities}. * @return the self-reference.//from w w w .jav a 2 s . c o m */ public AppiumServiceBuilder withCapabilities(DesiredCapabilities capabilities) { if (this.capabilities == null) { this.capabilities = capabilities; } else { DesiredCapabilities desiredCapabilities = new DesiredCapabilities(); desiredCapabilities.merge(this.capabilities).merge(capabilities); this.capabilities = desiredCapabilities; } return this; }
From source file:com.opera.core.systems.OperaSettings.java
License:Apache License
/** * Returns this as capabilities. This does not copy the settings. Further changes will be * reflected in the capabilities.//w w w . j av a2 s. com * * @return Capabilities for Opera with these settings */ public Capabilities toCapabilities() { DesiredCapabilities capabilities = DesiredCapabilities.opera(); for (CapabilityInstance option : options.values()) { if (option.getValue() == null) { continue; } capabilities.setCapability(option.getCapability(), option.getValue()); } return capabilities.merge(surplusCapabilities); }
From source file:com.saucelabs.sauce_ondemand.driver.SauceOnDemandSPIImpl.java
License:Open Source License
@Override public WebDriver createWebDriver(SeleniumFactory factory, String browserURL, DesiredCapabilities capabilities) { String uri = factory.getUri(); if (!uri.startsWith(SCHEME)) return null; // not ours uri = uri.substring(SCHEME.length()); if (!uri.startsWith("?")) throw new IllegalArgumentException("Missing '?':" + factory.getUri()); // massage parameter into JSON format Map<String, List<String>> paramMap = populateParameterMap(uri); DesiredCapabilities desiredCapabilities; if (hasParameter(paramMap, OS) && hasParameter(paramMap, BROWSER) && hasParameter(paramMap, BROWSER_VERSION)) { String browser = getFirstParameter(paramMap, BROWSER); desiredCapabilities = new DesiredCapabilities(capabilities); desiredCapabilities.setBrowserName(browser); desiredCapabilities.setVersion(getFirstParameter(paramMap, BROWSER_VERSION)); desiredCapabilities.setCapability(CapabilityType.PLATFORM, getFirstParameter(paramMap, OS)); if (browser.equals("firefox")) { setFirefoxProfile(paramMap, desiredCapabilities); }/* w ww. jav a 2 s. co m*/ } else { //use Firefox as a default desiredCapabilities = capabilities; desiredCapabilities.merge(DesiredCapabilities.firefox()); setFirefoxProfile(paramMap, desiredCapabilities); } String host = readPropertyOrEnv(SELENIUM_HOST, DEFAULT_WEBDRIVER_HOST); String portAsString = readPropertyOrEnv(SELENIUM_PORT, null); if (portAsString == null || portAsString.equals("")) { portAsString = DEFAULT_WEBDRIVER_PORT; } try { WebDriver driver = new RemoteWebDriverImpl( new URL(MessageFormat.format("http://{2}:{3}@{0}:{1}/wd/hub", host, portAsString, getFirstParameter(paramMap, USERNAME), getFirstParameter(paramMap, ACCESS_KEY))), desiredCapabilities, new Credential(getFirstParameter(paramMap, USERNAME), getFirstParameter(paramMap, ACCESS_KEY)), getFirstParameter(paramMap, "job-name")); if (browserURL != null) { driver.get(browserURL); } return driver; } catch (MalformedURLException e) { throw new IllegalArgumentException("Invalid URL: " + factory.getUri(), e); } }
From source file:com.saucelabs.selenium.client.factory.impl.DefaultSeleniumSPIImpl.java
License:Open Source License
@Override public WebDriver createWebDriver(SeleniumFactory factory, String browserURL, DesiredCapabilities capabilities) { if (!canHandle(factory.getUri())) return null; // doesn't belong to us try {//from w ww . j a v a2 s . c o m URL url = new URL(factory.getUri()); // since the browser start command parameter can contain arbitrary character that may // potentially interfere with the rules of the URL, allow the user to specify it through a property. String browserStartCommand = (String) factory.getProperty("browserStartCommand"); if (browserStartCommand == null) // getPath starts with '/', so trim it off // do URL decode, so that arbitrary strings can be passed in. browserStartCommand = URLDecoder.decode(url.getPath().substring(1), "UTF-8"); //todo translate browserStartCommand to DesiredCapabilities DesiredCapabilities desiredCapabilities = capabilities; desiredCapabilities.merge(DesiredCapabilities.firefox()); WebDriver driver = new RemoteWebDriver(url, desiredCapabilities); if (browserURL != null) { driver.get(browserURL); } return driver; } catch (MalformedURLException e) { throw new IllegalArgumentException("Invalid URL: " + factory.getUri(), e); } catch (UnsupportedEncodingException e) { // impossible throw new Error(e); } }
From source file:com.seleniumtests.browserfactory.IMobileCapabilityFactory.java
License:Apache License
@Override public MutableCapabilities createCapabilities() { String app = webDriverConfig.getApp().trim(); DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, getAutomationName()); if (app != null && !"".equals(app.trim())) { if (webDriverConfig.isFullReset()) { capabilities.setCapability(MobileCapabilityType.FULL_RESET, "true"); } else {/* ww w . ja v a 2 s .c o m*/ capabilities.setCapability(MobileCapabilityType.FULL_RESET, "false"); } } // Set up version and device name else appium server would pick the only available emulator/device // Both of these are ignored for android for now capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, webDriverConfig.getPlatform()); capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, webDriverConfig.getMobilePlatformVersion()); capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, webDriverConfig.getDeviceName()); capabilities.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, webDriverConfig.getNewCommandTimeout()); // in case app has not been specified for cloud provider if (capabilities.getCapability(MobileCapabilityType.APP) == null && app != null && !app.isEmpty()) { capabilities.setCapability(MobileCapabilityType.APP, app.replace("\\", "/")); } // do not configure application and browser as they are mutualy exclusive if (app == null || app.isEmpty() && webDriverConfig.getBrowser() != BrowserType.NONE) { capabilities.setCapability(CapabilityType.BROWSER_NAME, webDriverConfig.getBrowser().toString().toLowerCase()); capabilities.merge(getBrowserSpecificCapabilities()); } else { capabilities.setCapability(CapabilityType.BROWSER_NAME, ""); } // add node tags if (webDriverConfig.getNodeTags().size() > 0 && webDriverConfig.getMode() == DriverMode.GRID) { capabilities.setCapability(SeleniumRobotCapabilityType.NODE_TAGS, webDriverConfig.getNodeTags()); } // add OS specific capabilities capabilities.merge(getSystemSpecificCapabilities()); return capabilities; }
From source file:com.vaadin.demo.testutil.AbstractDemoTest.java
License:Apache License
/** * Sets up the test to run using Phantom JS with the additional capabilities * specified.//from www. j av a 2 s .co m * * @param extraCapabilities * additional capabilities to pass to the driver */ protected void setupPhantomJsDriver(Capabilities extraCapabilities) { DesiredCapabilities cap = DesiredCapabilities.phantomjs(); cap.merge(extraCapabilities); FixedPhantomJSDriver driver = new FixedPhantomJSDriver(cap); setDriver(driver); driver.setTestBenchDriverProxy(getDriver()); }
From source file:de.learnlib.alex.learning.entities.webdrivers.RemoteDriverConfig.java
License:Apache License
@Override public WebDriver createDriver() throws Exception { final URL remoteURL = new URL(System.getProperty("webdriver.remote.url")); final DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setPlatform(platform);/* w ww . j av a 2 s . c o m*/ capabilities.setBrowserName(browser); switch (browser) { case "chrome": final ChromeOptions chromeOptions = new ChromeOptions(); chromeOptions.setHeadless(headless); capabilities.merge(chromeOptions); break; case "firefox": final FirefoxOptions firefoxOptions = new FirefoxOptions(); firefoxOptions.setHeadless(headless); capabilities.merge(firefoxOptions); break; default: break; } if (!version.trim().equals("")) { capabilities.setVersion(version); } final WebDriver driver = new RemoteWebDriver(remoteURL, capabilities); manage(driver); return driver; }
From source file:io.ddavison.conductor.Locomotive.java
License:Open Source License
public Locomotive() { final Properties props = new Properties(); try {/* ww w. jav a 2s.c om*/ props.load(getClass().getResourceAsStream("/default.properties")); } catch (IOException e) { logFatal("Couldn't load in default properties"); } catch (Exception e) { } /** * Order of overrides: * <ol> * <li>Test</li> * <li>JVM Arguments</li> * <li>Default properties</li> * </ol> */ final Config testConfiguration = getClass().getAnnotation(Config.class); configuration = new LocomotiveConfig(testConfiguration, props); DesiredCapabilities capabilities; Capabilities extraCapabilities; try { extraCapabilities = configuration.capabilities().newInstance(); } catch (InstantiationException | IllegalAccessException e) { e.printStackTrace(); logFatal(e.getMessage()); System.exit(1); return; } baseUrl = configuration.url(); log.debug(String.format( "\n=== Configuration ===\n" + "\tURL: %s\n" + "\tBrowser: %s\n" + "\tHub: %s\n" + "\tBase url: %s\n", configuration.url(), configuration.browser().moniker, configuration.hub(), configuration.baseUrl())); boolean isLocal = StringUtils.isEmpty(configuration.hub()); switch (configuration.browser()) { case CHROME: capabilities = DesiredCapabilities.chrome(); capabilities.merge(extraCapabilities); if (isLocal) try { driver = new ChromeDriver(capabilities); } catch (Exception x) { x.printStackTrace(); logFatal( "Also see https://github.com/conductor-framework/conductor/wiki/WebDriver-Executables"); System.exit(1); } break; case FIREFOX: capabilities = DesiredCapabilities.firefox(); capabilities.merge(extraCapabilities); if (isLocal) try { driver = new FirefoxDriver(capabilities); } catch (Exception x) { x.printStackTrace(); logFatal( "Also see https://github.com/conductor-framework/conductor/wiki/WebDriver-Executables"); System.exit(1); } break; case INTERNET_EXPLORER: capabilities = DesiredCapabilities.internetExplorer(); capabilities.merge(extraCapabilities); if (isLocal) try { driver = new InternetExplorerDriver(capabilities); } catch (Exception x) { x.printStackTrace(); logFatal( "Also see https://github.com/conductor-framework/conductor/wiki/WebDriver-Executables"); System.exit(1); } break; case EDGE: capabilities = DesiredCapabilities.edge(); capabilities.merge(extraCapabilities); if (isLocal) try { driver = new EdgeDriver(capabilities); } catch (Exception x) { x.printStackTrace(); logFatal( "Also see https://github.com/conductor-framework/conductor/wiki/WebDriver-Executables"); System.exit(1); } break; case SAFARI: capabilities = DesiredCapabilities.safari(); capabilities.merge(extraCapabilities); if (isLocal) try { driver = new SafariDriver(capabilities); } catch (Exception x) { x.printStackTrace(); logFatal( "Also see https://github.com/conductor-framework/conductor/wiki/WebDriver-Executables"); System.exit(1); } break; case PHANTOMJS: capabilities = DesiredCapabilities.phantomjs(); capabilities.merge(extraCapabilities); if (isLocal) try { driver = new PhantomJSDriver(capabilities); } catch (Exception x) { x.printStackTrace(); logFatal( "Also see https://github.com/conductor-framework/conductor/wiki/WebDriver-Executables"); System.exit(1); } break; default: System.err.println("Unknown browser: " + configuration.browser()); return; } if (!isLocal) // they are using a hub. try { capabilities.merge(extraCapabilities); driver = new RemoteWebDriver(new URL(configuration.hub()), capabilities); // just override the driver. } catch (Exception x) { logFatal("Couldn't connect to hub: " + configuration.hub()); x.printStackTrace(); return; } actions = new Actions(driver); if (StringUtils.isNotEmpty(baseUrl)) driver.navigate().to(baseUrl); }