@Override protected Optional<String> getBrowserVersion() { return getDefaultBrowserVersion(getProgramFilesEnv(), "\\\\Mozilla Firefox\\\\firefox.exe", "firefox", "/Applications/Firefox.app/Contents/MacOS/firefox", "-v", getDriverManagerType().toString()); }
private static void resolveLocal(String validBrowsers, String arg) { log.info("Using WebDriverManager to resolve {}", arg); try { DriverManagerType driverManagerType = DriverManagerType .valueOf(arg.toUpperCase()); WebDriverManager wdm = WebDriverManager .getInstance(driverManagerType).avoidExport() .targetPath(".").forceDownload(); if (arg.equalsIgnoreCase("edge") || arg.equalsIgnoreCase("iexplorer")) { wdm.operatingSystem(WIN); } wdm.avoidOutputTree().setup(); } catch (Exception e) { log.error("Driver for {} not found (valid browsers {})", arg, validBrowsers); } }
protected List<String> getBetaVersions() { List<String> betaVersions = new ArrayList<>(); DriverManagerType[] browsersWithBeta = { CHROME }; for (DriverManagerType driverManagerType : browsersWithBeta) { String key = driverManagerType.name().toLowerCase() + BETA; Optional<String> betaVersionString = getDriverVersionForBrowserFromProperties( key, true); if (betaVersionString.isPresent()) { betaVersions.addAll( Arrays.asList(betaVersionString.get().split(","))); } } return betaVersions; }
@Override protected Optional<String> getBrowserVersion() { return getDefaultBrowserVersion(getProgramFilesEnv(), "\\\\Google\\\\Chrome\\\\Application\\\\chrome.exe", "google-chrome", "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome", "--version", getDriverManagerType().toString()); }
private WebDriver createWebDriver() throws IllegalArgumentException, WebDriverManagerException { String webDriverBrowser = jooUnitWebDriverBrowser; if (webDriverBrowser.isEmpty()) { webDriverBrowser = "chrome"; } if (!jooUnitRemoteWebDriverUri.isEmpty()) { try { DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setBrowserName(webDriverBrowser); return new RemoteWebDriver(new URL(jooUnitRemoteWebDriverUri), capabilities); } catch (MalformedURLException e) { throw new IllegalArgumentException("jooUnitRemoteWebDriverUri contains an invalid URI.", e); } } DriverManagerType driverManagerType = DriverManagerType.valueOf(webDriverBrowser.toUpperCase()); // may throw IllegalArgumentException setUpWebDriver(driverManagerType); return createWebDriver(driverManagerType); }
private String getVersionForInstalledBrowser(String browserVersion) { String driverVersion = ""; DriverManagerType driverManagerType = getDriverManagerType(); String driverLowerCase = driverManagerType.name().toLowerCase(); Optional<String> driverVersionForBrowser = getDriverVersionForBrowserFromProperties( driverLowerCase + browserVersion, false); if (driverVersionForBrowser.isPresent()) { driverVersion = driverVersionForBrowser.get(); } else { log.debug( "The driver version for {} {} is unknown ... trying with latest", driverManagerType, browserVersion); } return driverVersion; }
@Override protected Optional<String> getBrowserVersion() { return getDefaultBrowserVersion(getProgramFilesEnv(), "\\\\Mozilla Firefox\\\\firefox.exe", "firefox", "/Applications/Firefox.app/Contents/MacOS/firefox", "-v", getDriverManagerType().toString()); }
private static void resolveLocal(String validBrowsers, String arg) { log.info("Using WebDriverManager to resolve {}", arg); try { DriverManagerType driverManagerType = DriverManagerType .valueOf(arg.toUpperCase()); WebDriverManager wdm = WebDriverManager .getInstance(driverManagerType).avoidExport() .targetPath(".").forceDownload(); if (arg.equalsIgnoreCase("edge") || arg.equalsIgnoreCase("iexplorer")) { wdm.operatingSystem(WIN); } wdm.avoidOutputTree().setup(); } catch (Exception e) { log.error("Driver for {} not found (valid browsers {})", arg, validBrowsers); } }
@Override public String toString() { switch (this) { case CHROME: return "Google Chrome"; case FIREFOX: return "Mozilla Firefox"; case OPERA: return "Opera"; case EDGE: return "Microsoft Edge"; case PHANTOMJS: return "PhantomJS"; case IEXPLORER: return "Internet Explorer"; case SELENIUM_SERVER_STANDALONE: return "Selenium Server Standalone"; default: throw new WebDriverManagerException( "Invalid driver manager type: " + this.name()); } }
@Override protected Optional<String> getBrowserVersion() { return getDefaultBrowserVersion(getProgramFilesEnv(), "\\\\Google\\\\Chrome\\\\Application\\\\chrome.exe", "google-chrome", "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome", "--version", getDriverManagerType().toString()); }
private String detectDriverVersionFromBrowser() { String version = ""; Optional<String> optionalBrowserVersion = config().isAvoidAutoVersion() ? empty() : getBrowserVersion(); if (optionalBrowserVersion.isPresent()) { String browserVersion = optionalBrowserVersion.get(); log.trace("Detected {} version {}", getDriverManagerType(), browserVersion); preferenceKey = getDriverManagerType().name().toLowerCase() + browserVersion; if (usePreferences() && preferences.checkKeyInPreferences(preferenceKey)) { // Get driver version from preferences version = preferences.getValueFromPreferences(preferenceKey); } else { // Get driver version from properties version = getVersionForInstalledBrowser(browserVersion); } if (!isNullOrEmpty(version)) { log.info( "Using {} {} (since {} {} is installed in your machine)", getDriverName(), version, getDriverManagerType(), browserVersion); } } return version; }
private void setUpWebDriver(DriverManagerType driverManagerType) { String webDriverBrowser = driverManagerType.toString().toLowerCase(); getLog().info("Setting up WebDriver for " + webDriverBrowser + "."); String webDriverSystemPropertyName = getWebDriverSystemPropertyName(driverManagerType); String webDriverBinaryPath = System.getProperty(webDriverSystemPropertyName); if (webDriverBinaryPath == null) { getLog().info("No " + webDriverBrowser + " WebDriver environment property " + webDriverSystemPropertyName + ", using WebDriverManager for set up."); WebDriverManager webDriverManager = WebDriverManager.getInstance(driverManagerType); webDriverManager.setup(); webDriverBinaryPath = webDriverManager.getBinaryPath(); } else { getLog().info("Found " + webDriverBrowser + " WebDriver environment property " + webDriverSystemPropertyName + "."); } getLog().info("Using WebDriver " + webDriverBinaryPath + " for browser " + webDriverBrowser + " ."); }
protected List<String> getBetaVersions() { List<String> betaVersions = new ArrayList<>(); DriverManagerType[] browsersWithBeta = { CHROME }; for (DriverManagerType driverManagerType : browsersWithBeta) { String key = driverManagerType.name().toLowerCase() + BETA; Optional<String> betaVersionString = getDriverVersionForBrowserFromProperties( key, true); if (betaVersionString.isPresent()) { betaVersions.addAll( Arrays.asList(betaVersionString.get().split(","))); } } return betaVersions; }
private String getVersionForInstalledBrowser(String browserVersion) { String driverVersion = ""; DriverManagerType driverManagerType = getDriverManagerType(); String driverLowerCase = driverManagerType.name().toLowerCase(); Optional<String> driverVersionForBrowser = getDriverVersionForBrowserFromProperties( driverLowerCase + browserVersion, false); if (driverVersionForBrowser.isPresent()) { driverVersion = driverVersionForBrowser.get(); } else { log.debug( "The driver version for {} {} is unknown ... trying with latest", driverManagerType, browserVersion); } return driverVersion; }
@Override public String toString() { switch (this) { case CHROME: return "Google Chrome"; case FIREFOX: return "Mozilla Firefox"; case OPERA: return "Opera"; case EDGE: return "Microsoft Edge"; case PHANTOMJS: return "PhantomJS"; case IEXPLORER: return "Internet Explorer"; case SELENIUM_SERVER_STANDALONE: return "Selenium Server Standalone"; default: throw new WebDriverManagerException( "Invalid driver manager type: " + this.name()); } }
private String detectDriverVersionFromBrowser() { String version = ""; Optional<String> optionalBrowserVersion = config().isAvoidAutoVersion() ? empty() : getBrowserVersion(); if (optionalBrowserVersion.isPresent()) { String browserVersion = optionalBrowserVersion.get(); log.trace("Detected {} version {}", getDriverManagerType(), browserVersion); preferenceKey = getDriverManagerType().name().toLowerCase() + browserVersion; if (usePreferences() && preferences.checkKeyInPreferences(preferenceKey)) { // Get driver version from preferences version = preferences.getValueFromPreferences(preferenceKey); } else { // Get driver version from properties version = getVersionForInstalledBrowser(browserVersion); } if (!isNullOrEmpty(version)) { log.info( "Using {} {} (since {} {} is installed in your machine)", getDriverName(), version, getDriverManagerType(), browserVersion); } } return version; }