List of usage examples for org.openqa.selenium.remote RemoteWebDriver setFileDetector
public void setFileDetector(FileDetector detector)
From source file:de.dentrassi.pm.testing.TestSuite.java
License:Open Source License
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); }// w w w.j av a 2s . c om capabilities.setCapability(CapabilityType.PLATFORM, os); capabilities.setCapability("name", "Package Drone Main Test"); final RemoteWebDriver driver = new RemoteWebDriver(new URL( String.format("http://%s:%s@ondemand.saucelabs.com:80/wd/hub", SAUCE_USER_NAME, SAUCE_ACCESS_KEY)), capabilities); driver.setFileDetector(new LocalFileDetector()); return driver; }
From source file:de.ppi.selenium.browser.DefaultWebDriverFactory.java
License:Apache License
@Override public WebDriver createWebDriver(Map<String, String> options, DesiredCapabilities capabilities) throws IOException { ClientProperties properties = new ClientProperties(options.get(CLIENT_PROPERTIES_KEY)); WebDriver wd = null;/*ww w .ja va2s.c om*/ DesiredCapabilities desiredCapabilities = new DesiredCapabilities(capabilities); String browser = properties.getBrowser(); if (properties.isUseGrid()) { RemoteWebDriver remoteWebDriver = new RemoteWebDriver(new URL(properties.getGridUrl()), capabilities); remoteWebDriver.setFileDetector(new LocalFileDetector()); wd = remoteWebDriver; } else { if (browser == null || browser.equals("")) { throw new RuntimeException( "Browser cannot be null. Please set 'browser' in client properties. Supported browser types: IE, Firefox, Chrome, Safari, HtmlUnit."); } else if (browser.equalsIgnoreCase("ie") || browser.equalsIgnoreCase("iexplore") || browser.equalsIgnoreCase("*iexplore")) { String webdriverIEDriver = properties.getWebDriverIEDriver(); if (webdriverIEDriver != null) { System.setProperty("webdriver.ie.driver", webdriverIEDriver); } String browserVersion = properties.getBrowserVersion(); if (browserVersion == null || browserVersion.equals("")) { throw new RuntimeException( "When using IE as the browser, please set 'browser.version' in client properties"); } else { if (browserVersion.startsWith("9")) { desiredCapabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true); desiredCapabilities.setCapability( InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true); wd = new InternetExplorerDriver(desiredCapabilities); } else { wd = new InternetExplorerDriver(desiredCapabilities); } } } else if ((browser.equalsIgnoreCase("firefox") || browser.equalsIgnoreCase("*firefox"))) { final String ffProfileFolder = properties.getFirefoxProfileFolder(); final String ffProfileFile = properties.getFirefoxProfileFile(); final String path = properties.getFfBinaryPath(); final FirefoxProfile ffp; if (ffProfileFolder != null) { ffp = new FirefoxProfile(new File(ffProfileFolder)); } else { ffp = new FirefoxProfile(); } if (ffProfileFile != null) { addPreferences(ffp, ffProfileFile); } addPreferences(ffp, properties); List<String> ffExtensions = properties.getFirefoxExtensions(); if (ffExtensions != null && ffExtensions.size() > 0) { addExtensionsToFirefoxProfile(ffp, ffExtensions); } if (path != null) { FirefoxBinary fireFox = getFFBinary(path); wd = new FirefoxDriver(fireFox, ffp, desiredCapabilities); } else { wd = new FirefoxDriver(new FirefoxBinary(), ffp, desiredCapabilities); } } else if (browser.equalsIgnoreCase("chrome")) { final String webdriverChromeDriver = properties.getWebDriverChromeDriver(); if (webdriverChromeDriver != null) { System.setProperty("webdriver.chrome.driver", webdriverChromeDriver); } final ChromeOptions chromeOptions = new ChromeOptions(); final String chromeBinaryPath = properties.getChromeBinaryPath(); if (chromeBinaryPath != null) { chromeOptions.setBinary(chromeBinaryPath); } if (properties.getAcceptedLanguages() != null) { final Map<String, Object> prefs = new HashMap<String, Object>(); prefs.put("intl.accept_languages", properties.getAcceptedLanguages()); chromeOptions.setExperimentalOption("prefs", prefs); } desiredCapabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions); wd = new ChromeDriver(desiredCapabilities); } else if (browser.equalsIgnoreCase("safari")) { wd = new SafariDriver(desiredCapabilities); } else if (browser.equalsIgnoreCase("htmlunit")) { final BrowserVersion browserVersion = BrowserVersion.FIREFOX_45; if (properties.getAcceptedLanguages() != null) { browserVersion.setBrowserLanguage(properties.getAcceptedLanguages().split(",")[0]); } wd = new HtmlUnitDriver(browserVersion); ((HtmlUnitDriver) wd).setJavascriptEnabled(true); } else if (browser.equalsIgnoreCase("phantomjs")) { final String webdriverPhantomJSDriver = properties.getWebDriverPhantomJSDriver(); if (properties.getAcceptedLanguages() != null) { desiredCapabilities.setCapability("phantomjs.page.customHeaders.Accept-Language", properties.getAcceptedLanguages()); } if (webdriverPhantomJSDriver != null) { desiredCapabilities.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY, webdriverPhantomJSDriver); wd = new PhantomJSDriver(desiredCapabilities); } else { wd = new PhantomJSDriver(ResolvingPhantomJSDriverService.createDefaultService(), desiredCapabilities); } } else { throw new IllegalArgumentException("Unsupported browser type: " + browser + ". Supported browser types: IE, Firefox, Chrome, Safari, HtmlUnit, phantomjs."); } // move browser windows to specific position. It's useful for // debugging... final int browserInitPositionX = properties.getBrowserInitPositionX(); final int browserInitPositionY = properties.getBrowserInitPositionY(); if (browserInitPositionX != 0 || browserInitPositionY != 0) { wd.manage().window().setSize(new Dimension(1280, 1024)); wd.manage().window().setPosition(new Point(browserInitPositionX, browserInitPositionY)); } wd.manage().timeouts().implicitlyWait(properties.getAppearWaitTime(), TimeUnit.MILLISECONDS); } return wd; }
From source file:minium.web.config.WebDriverFactory.java
License:Apache License
public WebDriver create(WebDriverProperties webDriverProperties) { DesiredCapabilities desiredCapabilities = new DesiredCapabilities( webDriverProperties.getDesiredCapabilities()); DesiredCapabilities requiredCapabilities = new DesiredCapabilities( webDriverProperties.getRequiredCapabilities()); WebDriver webDriver = null;/*w w w . j av a 2s . c o m*/ if (webDriverProperties.getUrl() != null) { RemoteWebDriver remoteDriver = new RemoteWebDriver(webDriverProperties.getUrl(), desiredCapabilities, requiredCapabilities); remoteDriver.setFileDetector(new LocalFileDetector()); webDriver = remoteDriver; } else { String browserName = desiredCapabilities == null ? null : desiredCapabilities.getBrowserName(); if (Strings.isNullOrEmpty(browserName)) browserName = BrowserType.CHROME; webDriver = WebDriverType.typeFor(browserName).create(this, desiredCapabilities, requiredCapabilities); } WindowProperties window = webDriverProperties.getWindow(); if (window != null) { DimensionProperties size = window.getSize(); PointProperties position = window.getPosition(); if (size != null) webDriver.manage().window().setSize(new Dimension(size.getWidth(), size.getHeight())); if (position != null) webDriver.manage().window().setPosition(new Point(position.getX(), position.getY())); if (window.isMaximized()) { webDriver.manage().window().maximize(); } } return webDriver instanceof TakesScreenshot ? webDriver : new Augmenter().augment(webDriver); }
From source file:org.alfresco.grid.WebDriverFactory.java
License:Open Source License
/** * Creates a new instance of an {@link WebDriver} * @return {@link DesiredCapabilities} type of browser capability * @throws UnsupportedOperationException if grid url is invalid *//*ww w.ja v a2 s .co m*/ private WebDriver getRemoteDriver(DesiredCapabilities capability) { URL url; if (gridUrl == null || gridUrl.isEmpty()) { throw new UnsupportedOperationException("Grid url is required"); } try { url = new URL(gridUrl); } catch (MalformedURLException e) { throw new UnsupportedOperationException( String.format("A valid grid url is required instead of given url: %s", gridUrl), e); } capability.setCapability(CapabilityType.TAKES_SCREENSHOT, true); RemoteWebDriver remoteWebDriver = new RemoteWebDriver(url, capability); remoteWebDriver.setFileDetector(new LocalFileDetector()); return remoteWebDriver; }
From source file:org.aludratest.service.gui.web.selenium.selenium2.Selenium2Driver.java
License:Apache License
/** @param url the URL for which to create a WebDriver instance. * @param arguments Additional arguments to include for the WebDriver instance, or an empty array. * @return a freshly created instance of the related WebDriver class */ public WebDriver newRemoteDriver(URL url, String[] arguments) { AludraSeleniumHttpCommandExecutor executor = new AludraSeleniumHttpCommandExecutor(url); DesiredCapabilities caps = capabilities; if (arguments != null && arguments.length > 0) { caps = new DesiredCapabilities(capabilities); // this looks strange, but is the only way to avoid having all Threads sharing the same ChromeOptions object ChromeOptions opts = (ChromeOptions) createChromeCaps().getCapability(ChromeOptions.CAPABILITY); if (opts != null) { opts.addArguments(arguments); caps.setCapability(ChromeOptions.CAPABILITY, opts); }/* w ww. jav a2 s .c o m*/ } try { RemoteWebDriver driver = new RemoteWebDriver(executor, caps); driver.setFileDetector(new LocalFileDetector()); return driver; } catch (WebDriverException e) { LoggerFactory.getLogger(Selenium2Driver.class).error( "Could not create remote web driver. Last remote HTTP response: " + executor.getLastResponse()); throw e; } }
From source file:org.callimachusproject.webdriver.helpers.BrowserFunctionalTestCase.java
License:Apache License
private void init(RemoteWebDriver driver) { try {// w ww . j a v a 2s .co m driver.setFileDetector(new LocalFileDetector()); } catch (WebDriverException e) { // ignore } int wait = WebBrowserDriver.IMPLICITLY_WAIT; driver.manage().timeouts().implicitlyWait(wait, TimeUnit.SECONDS); driver.manage().timeouts().setScriptTimeout(wait, TimeUnit.SECONDS); driver.navigate().to(getStartUrl()); }
From source file:org.eclipse.packagedrone.testing.server.TestSuite.java
License:Open Source License
protected static RemoteWebDriver createSauce(final Platform os, final String browser, final String version) throws MalformedURLException { final DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setBrowserName(browser); if (version != null) { capabilities.setVersion(version); }// ww w.ja va 2s . c om capabilities.setCapability(CapabilityType.PLATFORM, os); capabilities.setCapability(CapabilityType.SUPPORTS_FINDING_BY_CSS, true); capabilities.setCapability("name", "Eclipse Package Drone Main Test"); if (System.getenv("TRAVIS_JOB_NUMBER") != null) { capabilities.setCapability("tunnel-identifier", System.getenv("TRAVIS_JOB_NUMBER")); capabilities.setCapability("build", System.getenv("TRAVIS_BUILD_NUMBER")); capabilities.setCapability("tags", new String[] { "CI" }); } final RemoteWebDriver driver = new RemoteWebDriver( new URL(String.format("http://%s:%s@%s/wd/hub", SAUCE_USER_NAME, SAUCE_ACCESS_KEY, SAUCE_URL)), capabilities); driver.setFileDetector(new LocalFileDetector()); return driver; }
From source file:org.finra.jtaf.ewd.impl.DefaultSessionFactory.java
License:Apache License
@Override public WebDriver createInnerDriver(Map<String, String> options, DesiredCapabilities capabilities) throws Exception { ClientProperties properties = new ClientProperties(options.get("client")); WebDriver wd = null;//from w w w.java 2 s.com DesiredCapabilities desiredCapabilities = new DesiredCapabilities(capabilities); String browser = properties.getBrowser(); if (properties.isUseGrid()) { RemoteWebDriver remoteWebDriver = new RemoteWebDriver(new URL(properties.getGridUrl()), capabilities); remoteWebDriver.setFileDetector(new LocalFileDetector()); wd = remoteWebDriver; } else { if (browser == null || browser.equals("")) { throw new RuntimeException( "Browser cannot be null. Please set 'browser' in client properties. Supported browser types: IE, Firefox, Chrome, Safari, HtmlUnit."); } else if (browser.equalsIgnoreCase("ie") || browser.equalsIgnoreCase("iexplore") || browser.equalsIgnoreCase("*iexplore")) { String webdriverIEDriver = properties.getWebDriverIEDriver(); if (webdriverIEDriver != null) { System.setProperty("webdriver.ie.driver", webdriverIEDriver); } String browserVersion = properties.getBrowserVersion(); if (browserVersion == null || browserVersion.equals("")) { throw new RuntimeException( "When using IE as the browser, please set 'browser.version' in client properties"); } else { if (browserVersion.startsWith("9")) { desiredCapabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true); desiredCapabilities.setCapability( InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true); wd = new InternetExplorerDriver(desiredCapabilities); } else { wd = new InternetExplorerDriver(desiredCapabilities); } } } else if ((browser.equalsIgnoreCase("firefox") || browser.equalsIgnoreCase("*firefox"))) { final String ffProfileFolder = properties.getFirefoxProfileFolder(); final String ffProfileFile = properties.getFirefoxProfileFile(); final String path = properties.getBinaryPath(); if (path != null) { FirefoxBinary fireFox = getFFBinary(path); FirefoxProfile ffp = null; if (ffProfileFolder != null) { ffp = new FirefoxProfile(new File(ffProfileFolder)); } else { ffp = new FirefoxProfile(); } if (ffProfileFile != null) { addPreferences(ffp, ffProfileFile); } addPreferences(ffp); List<String> ffExtensions = properties.getFirefoxExtensions(); if (ffExtensions != null && ffExtensions.size() > 0) { addExtensionsToFirefoxProfile(ffp, ffExtensions); } wd = new FirefoxDriver(fireFox, ffp, desiredCapabilities); } else { wd = new FirefoxDriver(desiredCapabilities); } } else if (browser.equalsIgnoreCase("chrome")) { String webdriverChromeDriver = properties.getWebDriverChromeDriver(); if (webdriverChromeDriver != null) { System.setProperty("webdriver.chrome.driver", webdriverChromeDriver); } wd = new ChromeDriver(desiredCapabilities); } else if (browser.equalsIgnoreCase("safari")) { wd = new SafariDriver(desiredCapabilities); } else if (browser.equalsIgnoreCase("htmlunit")) { wd = new HtmlUnitDriver(desiredCapabilities); ((HtmlUnitDriver) wd).setJavascriptEnabled(true); } else { throw new Exception("Unsupported browser type: " + browser + ". Supported browser types: IE, Firefox, Chrome, Safari, HtmlUnit."); } // move browser windows to specific position. It's useful for // debugging... final int browserInitPositionX = properties.getBrowserInitPositionX(); final int browserInitPositionY = properties.getBrowserInitPositionY(); if (browserInitPositionX != 0 || browserInitPositionY != 0) { wd.manage().window().setSize(new Dimension(1280, 1024)); wd.manage().window().setPosition(new Point(browserInitPositionX, browserInitPositionY)); } } return wd; }
From source file:org.usapi.SeleniumFactory.java
License:Apache License
/** * Returns an instance of WebDriver./*ww w .j av a2 s . c o m*/ * * This is a singleton that is instantiated with parameters * from system properties with overrides */ public static WebDriver getWebDriverInstance() { if (webDriver == null) { String browser = PropertyHelper.getSeleniumBrowserCommand(); String seleniumServerHost = PropertyHelper.getSeleniumServerHost(); String seleniumServerPort = PropertyHelper.getSeleniumServerPort(); // if selenium server host/port properties are set, they were passed in via // .properties or -D. Either way, this tells us that we are running on the // grid and need to instantiate our web driver such that it knows to use // selenium server if (seleniumServerHost.length() > 0 && seleniumServerPort.length() > 0) { URL seleniumServerUrl = null; try { seleniumServerUrl = new URL( "http://" + seleniumServerHost + ":" + seleniumServerPort + "/wd/hub"); } catch (MalformedURLException e) { // this should never happen, as the default values for serverHost and port are localhost and 4444. Only if // overrides (from .properties or cmd line) result in an invalid URL this exception handler would get invoked. log.error("Invalid value for Selenium Server Host or Selenium Server Port. Provided values: <" + seleniumServerHost + "> <" + seleniumServerPort + ">"); } DesiredCapabilities capability = getDesiredCapabilities(browser); if (browser.toLowerCase().contains(BROWSER_TYPE_FIREFOX)) { capability.setCapability("nativeEvents", PropertyHelper.getEnableNativeEvents()); capability.setCapability("name", "Remote File Upload using Selenium 2's FileDetectors"); } RemoteWebDriver rwd = new RemoteWebDriver(seleniumServerUrl, capability); rwd.setFileDetector(new LocalFileDetector()); webDriver = new Augmenter().augment((WebDriver) rwd); } // no, we are not running on the grid. Just instantiate the driver for the desired // browser directly. else { if (browser.toLowerCase().contains(BROWSER_TYPE_FIREFOX)) { FirefoxProfile p = new FirefoxProfile(); p.setEnableNativeEvents(PropertyHelper.getEnableNativeEvents()); webDriver = new FirefoxDriver(p); } else if (browser.toLowerCase().contains(BROWSER_TYPE_IEXPLORE)) { webDriver = new InternetExplorerDriver(); } else if (browser.toLowerCase().contains(BROWSER_TYPE_CHROME)) { webDriver = new RemoteWebDriver(getChromeDriverURL(), DesiredCapabilities.chrome()); webDriver = new Augmenter().augment((WebDriver) webDriver); } else if (browser.toLowerCase().contains(BROWSER_TYPE_SAFARI)) { webDriver = new SafariDriver(); } else if (browser.toLowerCase().contains(BROWSER_TYPE_HTMLUNIT)) { DesiredCapabilities capabilities = getDesiredCapabilities(browser); capabilities.setJavascriptEnabled(PropertyHelper.getHtmlUnitEnableJavascript()); webDriver = new HtmlUnitDriver(capabilities); } } // default in PropertyHelper is 0. Set this options only if they were explicitly specified (.properties or // in the environment long scriptTimeout = PropertyHelper.getScriptTimeout(); long implicitlyWait = PropertyHelper.getImplicitlyWait(); long pageLoadTimeout = PropertyHelper.getPageLoadTimeout(); if (scriptTimeout > 0) webDriver.manage().timeouts().setScriptTimeout(scriptTimeout, TimeUnit.MILLISECONDS); if (implicitlyWait > 0) webDriver.manage().timeouts().implicitlyWait(implicitlyWait, TimeUnit.MILLISECONDS); if (pageLoadTimeout > 0) webDriver.manage().timeouts().pageLoadTimeout(pageLoadTimeout, TimeUnit.MILLISECONDS); } return webDriver; }
From source file:xbdd.XbddDriver.java
License:Apache License
private static WebDriver getSeleniumGridRemoteDriver() throws MalformedURLException { final DesiredCapabilities desiredCapabilities = new DesiredCapabilities(); desiredCapabilities.setBrowserName(System.getProperty("selenium.grid.browser", "firefox")); desiredCapabilities.setVersion(System.getProperty("selenium.grid.version", "")); desiredCapabilities.setPlatform(Platform.ANY); final URL url = new URL("http", System.getProperty("selenium.grid"), Integer.valueOf(System.getProperty("selenium.grid.port", "4444")), "/wd/hub"); final RemoteWebDriver remoteWebDriver = new RemoteWebDriver(url, desiredCapabilities); remoteWebDriver.setFileDetector(new LocalFileDetector()); return new Augmenter().augment(remoteWebDriver); }