List of usage examples for org.openqa.selenium.firefox FirefoxOptions setBinary
public FirefoxOptions setBinary(String path)
From source file:com.gargoylesoftware.htmlunit.WebDriverTestCase.java
License:Apache License
/** * Builds a new WebDriver instance./*from w w w. j a v a 2s .com*/ * @return the instance * @throws IOException in case of exception */ protected WebDriver buildWebDriver() throws IOException { if (useRealBrowser()) { if (getBrowserVersion().isIE()) { if (IE_BIN_ != null) { System.setProperty("webdriver.ie.driver", IE_BIN_); } return new InternetExplorerDriver(); } if (BrowserVersion.CHROME == getBrowserVersion()) { if (CHROME_SERVICE_ == null) { final ChromeDriverService.Builder builder = new ChromeDriverService.Builder(); if (CHROME_BIN_ != null) { builder.usingDriverExecutable(new File(CHROME_BIN_)); } CHROME_SERVICE_ = builder.usingAnyFreePort().build(); CHROME_SERVICE_.start(); } return new ChromeDriver(CHROME_SERVICE_); } if (BrowserVersion.EDGE == getBrowserVersion()) { if (EDGE_BIN_ != null) { System.setProperty("webdriver.edge.driver", EDGE_BIN_); } return new EdgeDriver(); } if (BrowserVersion.FIREFOX_45 == getBrowserVersion()) { // disable the new marionette interface because it requires ff47 or more System.setProperty("webdriver.firefox.marionette", "false"); if (FF45_BIN_ != null) { final FirefoxOptions options = new FirefoxOptions(); options.setBinary(FF45_BIN_); return new FirefoxDriver(options); } return new FirefoxDriver(); } if (BrowserVersion.FIREFOX_52 == getBrowserVersion()) { if (FF52_BIN_ != null) { final FirefoxOptions options = new FirefoxOptions(); options.setBinary(FF52_BIN_); return new FirefoxDriver(options); } return new FirefoxDriver(); } throw new RuntimeException("Unexpected BrowserVersion: " + getBrowserVersion()); } if (webDriver_ == null) { final DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setBrowserName(BrowserType.HTMLUNIT); capabilities.setVersion(getBrowserName(getBrowserVersion())); webDriver_ = new HtmlUnitDriver(capabilities); } return webDriver_; }
From source file:javax.portlet.tck.driver.TCKSimpleTestDriver.java
License:Apache License
/** * @throws java.lang.Exception//from w w w . j av a 2 s . c om */ @BeforeClass public static void setUpBeforeClass() throws Exception { loginUrl = System.getProperty("test.server.login.url"); host = System.getProperty("test.server.host"); port = System.getProperty("test.server.port"); username = System.getProperty("test.server.username"); usernameId = System.getProperty("test.server.username.id"); password = System.getProperty("test.server.password"); passwordId = System.getProperty("test.server.password.id"); browser = System.getProperty("test.browser"); testContextBase = System.getProperty("test.context.base"); String str = System.getProperty("test.url.strategy"); useGeneratedUrl = str.equalsIgnoreCase("generateURLs"); str = System.getProperty("test.debug"); debug = str.equalsIgnoreCase("true"); str = System.getProperty("test.timeout"); dryrun = new Boolean(System.getProperty("test.dryrun")); timeout = ((str != null) && str.matches("\\d+")) ? Integer.parseInt(str) : 3; String wd = System.getProperty("test.browser.webDriver"); String binary = System.getProperty("test.browser.binary"); boolean browserDefaultHeadless = browser.equalsIgnoreCase("chrome") || browser.equalsIgnoreCase("firefox") || browser.equalsIgnoreCase("htmlunit") || browser.equalsIgnoreCase("phantomjs"); String headlessProperty = System.getProperty("test.browser.headless"); boolean headless = (((headlessProperty == null) || (headlessProperty.length() == 0)) && browserDefaultHeadless); System.out.println("before class."); System.out.println(" Debug =" + debug); System.out.println(" Dryrun =" + dryrun); System.out.println(" Timeout =" + timeout); System.out.println(" Login URL =" + loginUrl); System.out.println(" Host =" + host); System.out.println(" Port =" + port); System.out.println(" Context =" + testContextBase); System.out.println(" Generate URL =" + useGeneratedUrl); System.out.println(" Username =" + username); System.out.println(" UsernameId =" + usernameId); System.out.println(" Password =" + password); System.out.println(" PasswordId =" + passwordId); System.out.println(" Browser =" + browser); System.out.println(" Driver =" + wd); System.out.println(" binary =" + binary); System.out.println(" headless =" + headless); if (browser.equalsIgnoreCase("firefox")) { System.setProperty("webdriver.gecko.driver", wd); FirefoxOptions options = new FirefoxOptions(); options.setLegacy(true); options.setAcceptInsecureCerts(true); if ((binary != null) && (binary.length() != 0)) { options.setBinary(binary); } if (headless) { options.setHeadless(true); } driver = new FirefoxDriver(options); } else if (browser.equalsIgnoreCase("internetExplorer")) { System.setProperty("webdriver.ie.driver", wd); driver = new InternetExplorerDriver(); } else if (browser.equalsIgnoreCase("chrome")) { System.setProperty("webdriver.chrome.driver", wd); ChromeOptions options = new ChromeOptions(); if ((binary != null) && (binary.length() > 0)) { options.setBinary(binary); } if (headless) { options.addArguments("--headless"); } options.addArguments("--disable-infobars"); options.setAcceptInsecureCerts(true); driver = new ChromeDriver(options); } else if (browser.equalsIgnoreCase("phantomjs")) { DesiredCapabilities capabilities = DesiredCapabilities.phantomjs(); capabilities.setJavascriptEnabled(true); capabilities.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY, binary); driver = new PhantomJSDriver(capabilities); } else if (browser.equalsIgnoreCase("htmlUnit")) { driver = new HtmlUnitDriver(true); } else if (browser.equalsIgnoreCase("safari")) { driver = new SafariDriver(); } else { throw new Exception("Unsupported browser: " + browser); } if (!dryrun) { login(); } }
From source file:org.apache.portals.pluto.test.utilities.SimpleTestDriver.java
License:Apache License
/** * @throws java.lang.Exception/*from ww w . j a va2 s . co m*/ */ @BeforeClass public static void setUpBeforeClass() throws Exception { if (driver == null) { loginUrl = System.getProperty("test.server.login.url"); host = System.getProperty("test.server.host"); port = System.getProperty("test.server.port"); username = System.getProperty("test.server.username"); usernameId = System.getProperty("test.server.username.id"); password = System.getProperty("test.server.password"); passwordId = System.getProperty("test.server.password.id"); browser = System.getProperty("test.browser"); testContextBase = System.getProperty("test.context.base"); StringBuilder sb = new StringBuilder(); sb.append("http://"); sb.append(host); if (port != null && !port.isEmpty()) { sb.append(":"); sb.append(port); } sb.append("/"); sb.append(testContextBase); baseUrl = sb.toString(); String str = System.getProperty("test.url.strategy"); useGeneratedUrl = str.equalsIgnoreCase("generateURLs"); str = System.getProperty("test.debug"); debug = str.equalsIgnoreCase("true"); str = System.getProperty("test.timeout"); dryrun = Boolean.valueOf(System.getProperty("test.dryrun")); timeout = ((str != null) && str.matches("\\d+")) ? Integer.parseInt(str) : 3; String wd = System.getProperty("test.browser.webDriver"); String binary = System.getProperty("test.browser.binary"); String headlessProperty = System.getProperty("test.browser.headless"); boolean headless = (((headlessProperty == null) || (headlessProperty.length() == 0) || Boolean.valueOf(headlessProperty))); String maximizedProperty = System.getProperty("test.browser.maximized"); boolean maximized = Boolean.valueOf(maximizedProperty); System.out.println("before class."); System.out.println(" Debug =" + debug); System.out.println(" Dryrun =" + dryrun); System.out.println(" Timeout =" + timeout); System.out.println(" Login URL =" + loginUrl); System.out.println(" Host =" + host); System.out.println(" Port =" + port); System.out.println(" Context =" + testContextBase); System.out.println(" Generate URL =" + useGeneratedUrl); System.out.println(" Username =" + username); System.out.println(" UsernameId =" + usernameId); System.out.println(" Password =" + password); System.out.println(" PasswordId =" + passwordId); System.out.println(" Browser =" + browser); System.out.println(" Driver =" + wd); System.out.println(" binary =" + binary); System.out.println(" headless =" + headless); System.out.println(" maximized =" + maximized); if (browser.equalsIgnoreCase("firefox")) { System.setProperty("webdriver.gecko.driver", wd); FirefoxOptions options = new FirefoxOptions(); options.setLegacy(true); options.setAcceptInsecureCerts(true); if ((binary != null) && (binary.length() != 0)) { options.setBinary(binary); } if (headless) { options.setHeadless(true); } driver = new FirefoxDriver(options); } else if (browser.equalsIgnoreCase("internetExplorer")) { System.setProperty("webdriver.ie.driver", wd); driver = new InternetExplorerDriver(); } else if (browser.equalsIgnoreCase("chrome")) { System.setProperty("webdriver.chrome.driver", wd); ChromeOptions options = new ChromeOptions(); if ((binary != null) && (binary.length() > 0)) { options.setBinary(binary); } if (headless) { options.addArguments("--headless"); } options.addArguments("--disable-infobars"); options.setAcceptInsecureCerts(true); if (maximized) { // The webDriver.manage().window().maximize() feature does not work correctly in headless mode, so set the // window size to 1920x1200 (resolution of a 15.4 inch screen). options.addArguments("--window-size=1920,1200"); } driver = new ChromeDriver(options); } else if (browser.equalsIgnoreCase("phantomjs")) { DesiredCapabilities capabilities = DesiredCapabilities.phantomjs(); capabilities.setJavascriptEnabled(true); capabilities.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY, binary); driver = new PhantomJSDriver(capabilities); } else if (browser.equalsIgnoreCase("htmlUnit")) { LogFactory.getFactory().setAttribute("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.NoOpLog"); Logger.getLogger("com.gargoylesoftware").setLevel(Level.SEVERE); Logger.getLogger("org.apache.commons.httpclient").setLevel(Level.SEVERE); driver = new HtmlUnitDriver() { @Override protected WebClient getWebClient() { WebClient webClient = super.getWebClient(); WebClientOptions options = webClient.getOptions(); options.setThrowExceptionOnFailingStatusCode(false); options.setThrowExceptionOnScriptError(false); options.setPrintContentOnFailingStatusCode(false); webClient.setCssErrorHandler(new SilentCssErrorHandler()); return webClient; } }; } else if (browser.equalsIgnoreCase("safari")) { driver = new SafariDriver(); } else { throw new Exception("Unsupported browser: " + browser); } Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() { @Override public void run() { driver.quit(); } })); if (maximized) { driver.manage().window().maximize(); } if (!dryrun) { login(); } } }
From source file:org.apache.zeppelin.WebDriverManager.java
License:Apache License
public static WebDriver getWebDriver() { WebDriver driver = null;// w w w .j a v a2 s . c o m if (driver == null) { try { FirefoxBinary ffox = new FirefoxBinary(); if ("true".equals(System.getenv("TRAVIS"))) { ffox.setEnvironmentProperty("DISPLAY", ":99"); // xvfb is supposed to // run with DISPLAY 99 } int firefoxVersion = WebDriverManager.getFirefoxVersion(); LOG.info("Firefox version " + firefoxVersion + " detected"); downLoadsDir = FileUtils.getTempDirectory().toString(); String tempPath = downLoadsDir + "/firefox/"; downloadGeekoDriver(firefoxVersion, tempPath); FirefoxProfile profile = new FirefoxProfile(); profile.setPreference("browser.download.folderList", 2); profile.setPreference("browser.download.dir", downLoadsDir); profile.setPreference("browser.helperApps.alwaysAsk.force", false); profile.setPreference("browser.download.manager.showWhenStarting", false); profile.setPreference("browser.download.manager.showAlertOnComplete", false); profile.setPreference("browser.download.manager.closeWhenDone", true); profile.setPreference("app.update.auto", false); profile.setPreference("app.update.enabled", false); profile.setPreference("dom.max_script_run_time", 0); profile.setPreference("dom.max_chrome_script_run_time", 0); profile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/x-ustar,application/octet-stream,application/zip,text/csv,text/plain"); profile.setPreference("network.proxy.type", 0); System.setProperty(GeckoDriverService.GECKO_DRIVER_EXE_PROPERTY, tempPath + "geckodriver"); System.setProperty(SystemProperty.DRIVER_USE_MARIONETTE, "false"); FirefoxOptions firefoxOptions = new FirefoxOptions(); firefoxOptions.setBinary(ffox); firefoxOptions.setProfile(profile); driver = new FirefoxDriver(firefoxOptions); } catch (Exception e) { LOG.error("Exception in WebDriverManager while FireFox Driver ", e); } } if (driver == null) { try { driver = new ChromeDriver(); } catch (Exception e) { LOG.error("Exception in WebDriverManager while ChromeDriver ", e); } } if (driver == null) { try { driver = new SafariDriver(); } catch (Exception e) { LOG.error("Exception in WebDriverManager while SafariDriver ", e); } } String url; if (System.getenv("url") != null) { url = System.getenv("url"); } else { url = "http://localhost:8080"; } long start = System.currentTimeMillis(); boolean loaded = false; driver.manage().timeouts().implicitlyWait(AbstractZeppelinIT.MAX_IMPLICIT_WAIT, TimeUnit.SECONDS); driver.get(url); while (System.currentTimeMillis() - start < 60 * 1000) { // wait for page load try { (new WebDriverWait(driver, 30)).until(new ExpectedCondition<Boolean>() { @Override public Boolean apply(WebDriver d) { return d.findElement(By.xpath("//i[@uib-tooltip='WebSocket Connected']")).isDisplayed(); } }); loaded = true; break; } catch (TimeoutException e) { LOG.info("Exception in WebDriverManager while WebDriverWait ", e); driver.navigate().to(url); } } if (loaded == false) { fail(); } driver.manage().window().maximize(); return driver; }
From source file:org.testeditor.fixture.web.WebDriverFixture.java
License:Open Source License
/** * starts Firefox Portable. This works for Versions < 47.0. preferably Firefox * ESR 45.4.0/*w ww. j ava 2 s . co m*/ * * @param browserPath * @return {@code WebDriver} */ @FixtureMethod public WebDriver startFireFoxPortable(String browserPath) throws FixtureException { logger.debug("Starting Firefox Portable on path : {} ...", browserPath); setupDrivermanager(FirefoxDriverManager.getInstance(DriverManagerType.FIREFOX)); logger.trace("WebDriverManager setup executed!"); FirefoxBinary binary = new FirefoxBinary(new File(browserPath)); FirefoxOptions options = new FirefoxOptions(); options.setBinary(binary); FirefoxDriver firefoxdriver = new FirefoxDriver(options); driver = firefoxdriver; logger.trace("Firefox portable setup executed!"); logBrowserVersion(options, firefoxdriver); return driver; }