public Downloader(DriverManagerType driverManagerType) { this.driverManagerType = driverManagerType; WebDriverManager webDriverManager = WebDriverManager .getInstance(driverManagerType); config = webDriverManager.config(); httpClient = webDriverManager.getHttpClient(); }
public File getTarget(String version, URL url) { log.trace("getTarget {} {}", version, url); String zip = url.getFile().substring(url.getFile().lastIndexOf('/')); int iFirst = zip.indexOf('_'); int iSecond = zip.indexOf('-'); int iLast = zip.length(); if (iFirst != zip.lastIndexOf('_')) { iLast = zip.lastIndexOf('_'); } else if (iSecond != -1) { iLast = iSecond; } String folder = zip.substring(0, iLast).replace(".zip", "") .replace(".tar.bz2", "").replace(".tar.gz", "") .replace(".msi", "").replace(".exe", "") .replace("_", separator); String path = config.isAvoidOutputTree() ? getTargetPath() + zip : getTargetPath() + folder + separator + version + zip; String target = WebDriverManager.getInstance(driverManagerType) .preDownload(path, version); log.trace("Target file for URL {} version {} = {}", url, version, target); return new File(target); }
private File extract(File compressedFile) throws IOException, InterruptedException { String fileName = compressedFile.getName().toLowerCase(); boolean extractFile = !fileName.endsWith("exe") && !fileName.endsWith("jar"); if (extractFile) { log.info("Extracting binary from compressed file {}", fileName); } if (fileName.endsWith("tar.bz2")) { unBZip2(compressedFile); } else if (fileName.endsWith("tar.gz")) { unTarGz(compressedFile); } else if (fileName.endsWith("gz")) { unGzip(compressedFile); } else if (fileName.endsWith("msi")) { extractMsi(compressedFile); } else if (fileName.endsWith("zip")) { unZip(compressedFile); } if (extractFile) { deleteFile(compressedFile); } File result = WebDriverManager.getInstance(driverManagerType) .postDownload(compressedFile).getAbsoluteFile(); log.trace("Resulting binary file {}", result); return result; }
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 void autoDownloadDriverIfAskedFor(Class<? extends WebDriver> driverClass) { if (this.autoDriverDownloadConfigurer != null) { WebDriverManager webDriverManager = WebDriverManager.getInstance(driverClass); this.autoDriverDownloadConfigurer.accept(webDriverManager); webDriverManager.setup(); } }
private void runWebDriverManagerIfNeded(Class<?> type, boolean isRemote) { if (!typeList.contains(type) && !isRemote) { WebDriverManager.getInstance(type).setup(); typeList.add(type); } }
protected void autoDownloadDriverIfAskedFor(Class<? extends WebDriver> driverClass) { if (this.autoDriverDownloadConfigurer != null) { WebDriverManager webDriverManager = WebDriverManager.getInstance(driverClass); this.autoDriverDownloadConfigurer.accept(webDriverManager); webDriverManager.setup(); } }
public Downloader(DriverManagerType driverManagerType) { this.driverManagerType = driverManagerType; WebDriverManager webDriverManager = WebDriverManager .getInstance(driverManagerType); config = webDriverManager.config(); httpClient = webDriverManager.getHttpClient(); }
public File getTarget(String version, URL url) { log.trace("getTarget {} {}", version, url); String zip = url.getFile().substring(url.getFile().lastIndexOf('/')); int iFirst = zip.indexOf('_'); int iSecond = zip.indexOf('-'); int iLast = zip.length(); if (iFirst != zip.lastIndexOf('_')) { iLast = zip.lastIndexOf('_'); } else if (iSecond != -1) { iLast = iSecond; } String folder = zip.substring(0, iLast).replace(".zip", "") .replace(".tar.bz2", "").replace(".tar.gz", "") .replace(".msi", "").replace(".exe", "") .replace("_", separator); String path = config.isAvoidOutputTree() ? getTargetPath() + zip : getTargetPath() + folder + separator + version + zip; String target = WebDriverManager.getInstance(driverManagerType) .preDownload(path, version); log.trace("Target file for URL {} version {} = {}", url, version, target); return new File(target); }
private static Constructor<? extends WebDriver> getWebDriverConstructor(Class<? extends WebDriver> webDriverClass, List<Capability> capabilities) { WebDriverManager.getInstance(webDriverClass).setup(); boolean hasCapabilities = !capabilities.isEmpty(); if (hasCapabilities) { return getConstructorWithCapabilities(webDriverClass); } else { return getConstructorWithoutCapabilities(webDriverClass); } }
private File extract(File compressedFile) throws IOException, InterruptedException { String fileName = compressedFile.getName().toLowerCase(); boolean extractFile = !fileName.endsWith("exe") && !fileName.endsWith("jar"); if (extractFile) { log.info("Extracting binary from compressed file {}", fileName); } if (fileName.endsWith("tar.bz2")) { unBZip2(compressedFile); } else if (fileName.endsWith("tar.gz")) { unTarGz(compressedFile); } else if (fileName.endsWith("gz")) { unGzip(compressedFile); } else if (fileName.endsWith("msi")) { extractMsi(compressedFile); } else if (fileName.endsWith("zip")) { unZip(compressedFile); } if (extractFile) { deleteFile(compressedFile); } File result = WebDriverManager.getInstance(driverManagerType) .postDownload(compressedFile).getAbsoluteFile(); log.trace("Resulting binary file {}", result); return result; }
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 + " ."); }
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); } }
private static WebDriver createChromeDriver(WebDriverConfiguration config) { WebDriverManager.getInstance(ChromeDriver.class).setup(); return new ChromeDriver(customizeCapabilities(new ChromeOptions().setHeadless(true), config)); } }