@Override public WebDriver createDriver() throws Exception { final FirefoxBinary binary = new FirefoxBinary(); if (headless) { binary.addCommandLineOptions("-headless"); } final Map<String, String> environmentVariables = new HashMap<>(); if (!headless && xvfbPort != null) { environmentVariables.put("DISPLAY", ":" + String.valueOf(xvfbPort)); } final WebDriver driver = new FirefoxDriver( new GeckoDriverService.Builder() .usingFirefoxBinary(binary) .withEnvironment(environmentVariables) .build() ); manage(driver); return driver; }
private void setGeckoDriverPath() { String geckoDriverPath = ""; if( SystemUtils.IS_OS_MAC || SystemUtils.IS_OS_MAC_OSX){ geckoDriverPath = "resources/geckodriver_mac"; }else if( SystemUtils.IS_OS_UNIX ){ if( System.getProperty("os.arch").contains("64") || System.getProperty("sun.arch.data.model").equals("64") ){ geckoDriverPath = "resources/geckodriver_64"; }else{ geckoDriverPath = "resources/geckodriver_32"; } }else if( SystemUtils.IS_OS_WINDOWS ){ try { if( System.getProperty("os.arch").contains("64") || System.getProperty("sun.arch.data.model").equals("64")) geckoDriverPath = "resources/geckodriver_64.exe"; else geckoDriverPath = "resources/geckodriver_32.exe"; } catch (Exception e) { geckoDriverPath = "resources/geckodriver_64.exe"; } }else{ throw new RuntimeException("Geckodriver is not supported in the current OS" ); } File geckoDriverFile = new File( geckoDriverPath ); // if above property is not working or not opening the application in browser then try below property System.setProperty(GeckoDriverService.GECKO_DRIVER_EXE_PROPERTY , geckoDriverFile.getAbsolutePath() ); System.setProperty(FirefoxDriver.SystemProperty.DRIVER_USE_MARIONETTE , "true" ); }
@Override protected WebDriver getDriver() throws Exception { DesiredCapabilities capabilities = DesiredCapabilities.firefox(); capabilities.setCapability("useMarionette", true); capabilities.setCapability(GeckoDriverService.GECKO_DRIVER_EXE_PROPERTY, "./geckodriver"); return new FirefoxDriver(capabilities); }
@Override protected DriverService createDriverService() { Builder builder = new GeckoDriverService.Builder(); if (port != null) builder.usingPort(port); if (driverExecutable != null) builder.usingDriverExecutable(driverExecutable); if (environment != null) builder.withEnvironment(environment); if (logFile != null) builder.withLogFile(logFile); return builder.build(); }
/** * {@inheritDoc} */ @Override public String getPathProperty() { return GeckoDriverService.GECKO_DRIVER_EXE_PROPERTY; }