List of usage examples for org.openqa.selenium MutableCapabilities setCapability
@Override
public void setCapability(String key, Object value)
From source file:com.seleniumtests.browserfactory.AppiumDriverFactory.java
License:Apache License
private void extractAndroidDriver(MutableCapabilities capabilities) { String chromeDriverFile = (String) capabilities .getCapability(AndroidMobileCapabilityType.CHROMEDRIVER_EXECUTABLE); if (chromeDriverFile != null) { String driverPath;//w w w . j a v a 2 s . co m try { driverPath = FileUtility.decodePath(new DriverExtractor().extractDriver(chromeDriverFile)); capabilities.setCapability(AndroidMobileCapabilityType.CHROMEDRIVER_EXECUTABLE, driverPath); } catch (UnsupportedEncodingException e) { logger.error("cannot get driver path", e); } } }
From source file:com.seleniumtests.browserfactory.IDesktopCapabilityFactory.java
License:Apache License
public MutableCapabilities createCapabilities() { MutableCapabilities options = getDriverOptions(); options = options.merge(updateDefaultCapabilities()); if (webDriverConfig.getMode() == DriverMode.LOCAL) { try {//from ww w . j a va2 s. c om prepareBinaryAndDriver(getBrowserType(), getBrowserBinaryPath(), getDriverPath(), webDriverConfig.getBrowserVersion()); updateOptionsWithSelectedBrowserInfo(options); } catch (UnsupportedEncodingException e) { } } // add node tags if (webDriverConfig.getNodeTags().size() > 0 && webDriverConfig.getMode() == DriverMode.GRID) { options.setCapability(SeleniumRobotCapabilityType.NODE_TAGS, webDriverConfig.getNodeTags()); } return options; }
From source file:com.seleniumtests.browserfactory.IDesktopCapabilityFactory.java
License:Apache License
/** * Add proxy capability/*from www .j a va 2 s.c o m*/ * If network capture is enabled, start browsermob proxy and set it into browser * @param capability */ private void configureProxyCap(MutableCapabilities capability) { Proxy proxy = webDriverConfig.getProxy(); if (webDriverConfig.getCaptureNetwork()) { if (webDriverConfig.getWebProxyType() != ProxyType.DIRECT && webDriverConfig.getWebProxyType() != ProxyType.MANUAL) { throw new ConfigurationException( "PAC/AUTODETECT/SYSTEM proxy cannot be used with browsermob proxy"); } BrowserMobProxy mobProxy = new BrowserMobProxyServer(); if (webDriverConfig.getWebProxyType() == ProxyType.MANUAL) { mobProxy.setChainedProxy(new InetSocketAddress(webDriverConfig.getWebProxyAddress(), webDriverConfig.getWebProxyPort())); if (webDriverConfig.getWebProxyLogin() != null && webDriverConfig.getWebProxyPassword() != null) { mobProxy.chainedProxyAuthorization(webDriverConfig.getWebProxyLogin(), webDriverConfig.getWebProxyPassword(), AuthType.BASIC); } } mobProxy.setTrustAllServers(true); mobProxy.enableHarCaptureTypes(CaptureType.REQUEST_CONTENT, CaptureType.REQUEST_HEADERS, CaptureType.RESPONSE_HEADERS); mobProxy.start(0); Proxy seleniumProxy = ClientUtil.createSeleniumProxy(mobProxy); capability.setCapability(CapabilityType.PROXY, seleniumProxy); webDriverConfig.setBrowserMobProxy(mobProxy); } else { capability.setCapability(CapabilityType.PROXY, proxy); } }
From source file:com.seleniumtests.browserfactory.mobile.MobileDeviceSelector.java
License:Apache License
/** * From input capabilities, (e.g: platform, version or device real name), update capabilities * with deviceName, platform, version, or other useful data * @param capabilities/* ww w. j av a 2 s.co m*/ * @return */ public MutableCapabilities updateCapabilitiesWithSelectedDevice(MutableCapabilities capabilities, DriverMode driverMode) { MobileDevice selectedDevice = getRelevantMobileDevice(capabilities); if ("android".equals(selectedDevice.getPlatform())) { capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, selectedDevice.getId()); // set the right chromedriver executable according to android browser / chromeversion // it's only the file name, not it's path if (driverMode == DriverMode.LOCAL && !capabilities.getBrowserName().isEmpty()) { String chromeDriverFile = null; if (BrowserType.CHROME.toString().equalsIgnoreCase(capabilities.getBrowserName())) { chromeDriverFile = selectedDevice.getBrowserInfo(BrowserType.CHROME).getDriverFileName(); } else if (BrowserType.BROWSER.toString().equalsIgnoreCase(capabilities.getBrowserName())) { chromeDriverFile = selectedDevice.getBrowserInfo(BrowserType.BROWSER).getDriverFileName(); } if (chromeDriverFile != null) { // driver extraction will be done later. For example in AppiumDriverFactory capabilities.setCapability(AndroidMobileCapabilityType.CHROMEDRIVER_EXECUTABLE, chromeDriverFile); } } } else if ("ios".equalsIgnoreCase(selectedDevice.getPlatform())) { capabilities.setCapability(MobileCapabilityType.UDID, selectedDevice.getId()); capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, selectedDevice.getName()); capabilities.setCapability(IOSMobileCapabilityType.XCODE_CONFIG_FILE, System.getenv("APPIUM_HOME") + "/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent/xcodeConfigFile.xcconfig"); } capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, selectedDevice.getPlatform()); capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, selectedDevice.getVersion()); return capabilities; }