Example usage for org.openqa.selenium.ie InternetExplorerDriver InternetExplorerDriver

List of usage examples for org.openqa.selenium.ie InternetExplorerDriver InternetExplorerDriver

Introduction

In this page you can find the example usage for org.openqa.selenium.ie InternetExplorerDriver InternetExplorerDriver.

Prototype

public InternetExplorerDriver(InternetExplorerDriverService service) 

Source Link

Usage

From source file:com.axatrikx.webdriver.IELoader.java

License:Apache License

@Override
public WebDriver getDriver() {
    System.setProperty("webdriver.ie.driver", Utils.getResource("IEDriverServer.exe").getAbsolutePath());
    System.setProperty("java.io.tmpdir", downloadDir);
    DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
    capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
    if (useProxy) {
        String proxyURL = proxyHost + ":" + proxyPort;
        Proxy proxy = new Proxy();
        proxy.setHttpProxy(proxyURL).setFtpProxy(proxyURL).setSslProxy(proxyURL);
        capabilities.setCapability(CapabilityType.PROXY, proxy);
    }//w w  w.j a  v  a2  s  .c o m
    return new InternetExplorerDriver(capabilities);
}

From source file:com.ceiwc.compugain.setup.TestBase.java

/**
 *  Initializes web driver object based on the browser type
 * @param sbrowser : THe browser we need to run
 * @param surl : the URL of the application
 * @return : Webdriver object// w w w. j a  v  a2 s  . c om
 */
public WebDriver initializeDriver(String sbrowser/*,String surl*/) {
    WebDriver driver = null;
    logger.info("Browser Name:" + sbrowser);
    //   logger.info(" Application surl:"+surl);
    if (driver == null) {
        if (sbrowser.equalsIgnoreCase("firefox")) {

            /*logger.info("The value of Path  is------------->"+System.getProperty("user.dir")+firebugPath);
            File firebug = new File(getFilePath(firebugPath));
            File firepath_new = new File(getFilePath(firepath));
             */
            //File netExport = new File(getFilePath(netExportPath));

            /*Capabilities cap =  dri.getCapabilities();
            String browserName = cap.getBrowserName().toLowerCase();
            System.out.println("Browser Name"+browserName);
            String os = cap.getPlatform().toString();
            System.out.println("operating system"+os);
            String v = cap.getVersion().toString();
            System.out.println("Version is"+v);
             *//*try {
                profile.addExtension(firebug);
                profile.addExtension(firepath_new);
                //profile.addExtension(netExport);
                } catch (IOException e) {
                e.printStackTrace();
                }
                */
            /*   profile.setPreference("app.update.enabled", false);
            profile.setPreference("extensions.firebug.currentVersion", "2.0");
            profile.setPreference("extensions.firebug.addonBarOpened", true);
            profile.setPreference("extensions.firebug.console.enableSites", true);
            profile.setPreference("extensions.firebug.script.enableSites", true);
            profile.setPreference("extensions.firebug.net.enableSites", true);
            profile.setPreference("extensions.firebug.previousPlacement", 1);
            profile.setPreference("extensions.firebug.allPagesActivation", "on");
            profile.setPreference("extensions.firebug.onByDefault", true);
            profile.setPreference("extensions.firebug.defaultPanelName", "net");
                    
            profile.setPreference(
               "extensions.firebug.netexport.alwaysEnableAutoExport", true);
            profile.setPreference("extensions.firebug.netexport.autoExportToFile",true);
            profile.setPreference("extensions.firebug.netexport.Automation", true);
            profile.setPreference("extensions.firebug.netexport.showPreview", false);
            logger.info("The path of the response folder is "+System.getProperty("user.dir")+"\\ResponseFolder\\");
                    
            profile.setPreference("extensions.firebug.netexport.defaultLogDir",getFilePath(responseFileDownloadpath));
             */
            //         FirefoxProfile profile = new FirefoxProfile();
            //profile.setEnableNativeEvents(true);
            //logger.info("enabled events are"+profile.areNativeEventsEnabled());
            /*         DesiredCapabilities capabilities = new DesiredCapabilities();
            capabilities.setBrowserName(sbrowser);
            capabilities.setPlatform(org.openqa.selenium.Platform.ANY);
            capabilities.setCapability(FirefoxDriver.PROFILE, profile);
                    
             */
            System.setProperty("webdriver.gecko.driver", getFilePath(FIREFOXPATH));
            //String downloadPath = getFilePath(DOWNLOADSPATH);
            //   FirefoxProfile profile = new FirefoxProfile();
            /*profile.setPreference("browser.download.folderList", 2);
            profile.setPreference("browser.download.manager.showWhenStarting", false);
            profile.setPreference("browser.download.dir", downloadPath);
            profile.setPreference("browser.helperApps.neverAsk.openFile",
                  "text/csv,application/x-msexcel,application/excel,application/x-excel,application/vnd.ms-excel,image/png,image/jpeg,text/html,text/plain,application/msword,application/xml");
            profile.setPreference("browser.helperApps.neverAsk.saveToDisk",
            "text/csv,application/x-msexcel,application/excel,application/x-excel,application/vnd.ms-excel,image/png,image/jpeg,text/html,text/plain,application/msword,application/xml");
            profile.setPreference("browser.helperApps.alwaysAsk.force", false);
            profile.setPreference("browser.download.manager.alertOnEXEOpen", false);
            profile.setPreference("browser.download.manager.focusWhenStarting", false);
            profile.setPreference("browser.download.manager.useWindow", false);
            profile.setPreference("browser.download.manager.showAlertOnComplete", false);
            profile.setPreference("browser.download.manager.closeWhenDone", false);
            profile.setPreference("xpinstall.signatures.required", false);
            logger.info("The Profile Setup Data");*/

            driver = new FirefoxDriver();
            /*webdriver= new EventFiringWebDriver(driver);
            EventListerners eventListerners=new EventListerners();
            webdriver.register(eventListerners);
            */ String s = (String) ((JavascriptExecutor) driver).executeScript("return navigator.userAgent;");
            logger.info("Browser name : " + s);
        }

        else if (sbrowser.equalsIgnoreCase("Chrome")) {
            /*   logger.info("The Profile set up started @@@@@@@@@@@@@@@@@@@@@@@@@@@");
               System.setProperty("webdriver.chrome.driver", getFilePath(CHROMEPATH));
               HashMap<String, Object> chromePrefs = new HashMap<String, Object>();
               chromePrefs.put("profile.default_content_settings.popups", 0);
               chromePrefs.put("download.default_directory",getFilePath(DOWNLOADSPATH));
               ChromeOptions options = new ChromeOptions();
               HashMap<String, Object> chromeOptionsMap = new HashMap<String, Object>();
               options.setExperimentalOption("prefs", chromePrefs);
               options.addArguments("--test-type");
               DesiredCapabilities cap = DesiredCapabilities.chrome();
               //cap.setCapability(ChromeOptions.CAPABILITY, chromeOptionsMap);
               cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
               cap.setCapability(ChromeOptions.CAPABILITY, options);
               logger.info("Initializing chrome webDriver");
               driver = new ChromeDriver(cap);
            */
            driver = new ChromeDriver(chromeProfileSetUp());
            //   logger.info("The Profile set up Ended #####################");

            //driver = new ChromeDriver(chromeProfileSetUp());
            /*    webdriver= new EventFiringWebDriver(driver);
                EventListerners eventListerners=new EventListerners();
                webdriver.register(eventListerners);
            */
            String s = (String) ((JavascriptExecutor) driver).executeScript("return navigator.userAgent;");
            System.out.println("Browser name : " + s.split("Chrome"));
            String[] result = s.split("Chrome");
            //      logger.info("Result value is"+result[1].substring(1,6));
            versionvalue = result[1].substring(1, 6);
            //   setVersionvalue(versionvalue);
        } else if (sbrowser.equalsIgnoreCase("IE")) {
            /*if (System.getProperty("os.arch").contains("86")) {
            logger.info("System is---"+System.getProperty("os.arch")+"---bit");
              System.setProperty("webdriver.ie.driver",
            getFilePath("/src/test/resources/Browsers_Binaries/IE/IEDriverServer64.exe"));
             } 
            else if (System.getProperty("os.arch").contains("64")) {
               logger.info("System is---"+System.getProperty("os.arch")+"---bit");
              System.setProperty("webdriver.ie.driver",
            getFilePath("/src/test/resources/Browsers_Binaries/IE/IEDriverServer64.exe"));
            }*/

            driver = new InternetExplorerDriver(ieProfileSetUp());
            /*             webdriver= new EventFiringWebDriver(driver);
                         EventListerners eventListerners=new EventListerners();
                         webdriver.register(eventListerners);
            */ } else if (sbrowser.equalsIgnoreCase("Safari")) {
            DesiredCapabilities capabilities = DesiredCapabilities.safari();
            driver = new SafariDriver(capabilities);
            /*             webdriver= new EventFiringWebDriver(driver);
                         EventListerners eventListerners=new EventListerners();
                         webdriver.register(eventListerners);
            */ }

    }
    driver.manage().timeouts().implicitlyWait(1, TimeUnit.MINUTES);
    return driver;
}

From source file:com.ceiwc.compugain.setup.TestBase.java

public WebDriver secondDriverInitialization(String sbrowser/*,String surl*/) {

    sbrowser = Configuration.getAutomationBrowser();
    logger.info("Browser Name:" + sbrowser);
    //   logger.info(" Application surl:"+surl);
    if (secondDriver == null) {
        if (sbrowser.equalsIgnoreCase("firefox")) {
            String downloadPath = FileOperation.getFilePath(DOWNLOADSPATH);
            FirefoxProfile profile = new FirefoxProfile();
            profile.setPreference("browser.download.folderList", 2);
            profile.setPreference("browser.download.manager.showWhenStarting", false);
            profile.setPreference("browser.download.dir", downloadPath);
            profile.setPreference("browser.helperApps.neverAsk.openFile",
                    "text/csv,application/x-msexcel,application/excel,application/x-excel,application/vnd.ms-excel,image/png,image/jpeg,text/html,text/plain,application/msword,application/xml");
            profile.setPreference("browser.helperApps.neverAsk.saveToDisk",
                    "text/csv,application/x-msexcel,application/excel,application/x-excel,application/vnd.ms-excel,image/png,image/jpeg,text/html,text/plain,application/msword,application/xml");
            profile.setPreference("browser.helperApps.alwaysAsk.force", false);
            profile.setPreference("browser.download.manager.alertOnEXEOpen", false);
            profile.setPreference("browser.download.manager.focusWhenStarting", false);
            profile.setPreference("browser.download.manager.useWindow", false);
            profile.setPreference("browser.download.manager.showAlertOnComplete", false);
            profile.setPreference("browser.download.manager.closeWhenDone", false);
            profile.setPreference("xpinstall.signatures.required", false);
            logger.info("The Profile Setup Data");
            secondDriver = new FirefoxDriver(profile);
            //secondDriver = new FirefoxDriver(firefoxProfileSetUp());
            /* webdriver= new EventFiringWebDriver(driver);
             EventListerners eventListerners=new EventListerners();
             webdriver.register(eventListerners);
            *///from   w w w.j  a v  a2s  . c om
        } else if (sbrowser.equalsIgnoreCase("Chrome")) {
            /*System.setProperty("webdriver.chrome.driver", getFilePath(CHROMEPATH));
            HashMap<String, Object> chromePrefs = new HashMap<String, Object>();
            chromePrefs.put("profile.default_content_settings.popups", 0);
            chromePrefs.put("download.default_directory",getFilePath(DOWNLOADSPATH));
            ChromeOptions options = new ChromeOptions();
            HashMap<String, Object> chromeOptionsMap = new HashMap<String, Object>();
            options.setExperimentalOption("prefs", chromePrefs);
            options.addArguments("--test-type");
            DesiredCapabilities cap = DesiredCapabilities.chrome();
            cap.setCapability(ChromeOptions.CAPABILITY, chromeOptionsMap);
            cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
            cap.setCapability(ChromeOptions.CAPABILITY, options);
            */ secondDriver = new ChromeDriver(chromeProfileSetUp());
            //secondDriver = new ChromeDriver(chromeProfileSetUp());
            /*    webdriver= new EventFiringWebDriver(driver);
                EventListerners eventListerners=new EventListerners();
                webdriver.register(eventListerners);
            */ } else if (sbrowser.equalsIgnoreCase("IE")) {
            /*if (System.getProperty("os.arch").contains("86")) {
            logger.info("System is---"+System.getProperty("os.arch")+"---bit");
              System.setProperty("webdriver.ie.driver",
            getFilePath("/src/test/resources/Browsers_Binaries/IE/IEDriverServer64.exe"));
             } 
            else if (System.getProperty("os.arch").contains("64")) {
               logger.info("System is---"+System.getProperty("os.arch")+"---bit");
              System.setProperty("webdriver.ie.driver",
            getFilePath("/src/test/resources/Browsers_Binaries/IE/IEDriverServer64.exe"));
            }*/
            secondDriver = new InternetExplorerDriver(ieProfileSetUp());
            /*webdriver= new EventFiringWebDriver(driver);
            EventListerners eventListerners=new EventListerners();
            webdriver.register(eventListerners);
            */} else if (sbrowser.equalsIgnoreCase("Safari")) {
            DesiredCapabilities capabilities = DesiredCapabilities.safari();
            secondDriver = new SafariDriver(capabilities);
            /*    webdriver= new EventFiringWebDriver(driver);
                EventListerners eventListerners=new EventListerners();
                webdriver.register(eventListerners);
            */}

    }
    secondDriver.manage().timeouts().implicitlyWait(1, TimeUnit.MINUTES);
    return secondDriver;
}

From source file:com.ceiwc.compugain.setup.TestBase.java

public WebDriver thirdDriverInitialization(String sbrowser/*,String surl*/) {
    sbrowser = Configuration.getAutomationBrowser();
    logger.info("Browser Name:" + sbrowser);
    //   logger.info(" Application surl:"+surl);
    if (thirdDriver == null) {
        if (sbrowser.equalsIgnoreCase("firefox")) {
            String downloadPath = FileOperation.getFilePath(DOWNLOADSPATH);
            FirefoxProfile profile = new FirefoxProfile();
            profile.setPreference("browser.download.folderList", 2);
            profile.setPreference("browser.download.manager.showWhenStarting", false);
            profile.setPreference("browser.download.dir", downloadPath);
            profile.setPreference("browser.helperApps.neverAsk.openFile",
                    "text/csv,application/x-msexcel,application/excel,application/x-excel,application/vnd.ms-excel,image/png,image/jpeg,text/html,text/plain,application/msword,application/xml");
            profile.setPreference("browser.helperApps.neverAsk.saveToDisk",
                    "text/csv,application/x-msexcel,application/excel,application/x-excel,application/vnd.ms-excel,image/png,image/jpeg,text/html,text/plain,application/msword,application/xml");
            profile.setPreference("browser.helperApps.alwaysAsk.force", false);
            profile.setPreference("browser.download.manager.alertOnEXEOpen", false);
            profile.setPreference("browser.download.manager.focusWhenStarting", false);
            profile.setPreference("browser.download.manager.useWindow", false);
            profile.setPreference("browser.download.manager.showAlertOnComplete", false);
            profile.setPreference("browser.download.manager.closeWhenDone", false);
            profile.setPreference("xpinstall.signatures.required", false);
            logger.info("The Profile Setup Data");
            thirdDriver = new FirefoxDriver(profile);

            //thirdDriver = new FirefoxDriver(firefoxProfileSetUp());
            /*    webdriver= new EventFiringWebDriver(driver);
                EventListerners eventListerners=new EventListerners();
                webdriver.register(eventListerners);
            */} else if (sbrowser.equalsIgnoreCase("Chrome")) {
            thirdDriver = new ChromeDriver(chromeProfileSetUp());
        } else if (sbrowser.equalsIgnoreCase("IE")) {
            thirdDriver = new InternetExplorerDriver(ieProfileSetUp());
        } else if (sbrowser.equalsIgnoreCase("Safari")) {
            DesiredCapabilities capabilities = DesiredCapabilities.safari();
            thirdDriver = new SafariDriver(capabilities);
        }/*from w ww. j  a v  a  2  s  .  c om*/

    }
    thirdDriver.manage().timeouts().implicitlyWait(1, TimeUnit.MINUTES);
    return thirdDriver;
    //return webdriver;
}

From source file:com.ceiwc.compugain.setup.TestBase.java

public WebDriver driverIntialization(String sbrowser) {
    WebDriver fourthdriver = null;//ww  w. j a va 2 s  . co m
    sbrowser = Configuration.getAutomationBrowser();
    logger.info("Browser Name:" + sbrowser);
    if (fourthdriver == null) {
        if (sbrowser.equalsIgnoreCase("firefox")) {
            String downloadPath = FileOperation.getFilePath(DOWNLOADSPATH);
            FirefoxProfile profile = new FirefoxProfile();
            profile.setPreference("browser.download.folderList", 2);
            profile.setPreference("browser.download.manager.showWhenStarting", false);
            profile.setPreference("browser.download.dir", downloadPath);
            profile.setPreference("browser.helperApps.neverAsk.openFile",
                    "text/csv,application/x-msexcel,application/excel,application/x-excel,application/vnd.ms-excel,image/png,image/jpeg,text/html,text/plain,application/msword,application/xml");
            profile.setPreference("browser.helperApps.neverAsk.saveToDisk",
                    "text/csv,application/x-msexcel,application/excel,application/x-excel,application/vnd.ms-excel,image/png,image/jpeg,text/html,text/plain,application/msword,application/xml");
            profile.setPreference("browser.helperApps.alwaysAsk.force", false);
            profile.setPreference("browser.download.manager.alertOnEXEOpen", false);
            profile.setPreference("browser.download.manager.focusWhenStarting", false);
            profile.setPreference("browser.download.manager.useWindow", false);
            profile.setPreference("browser.download.manager.showAlertOnComplete", false);
            profile.setPreference("browser.download.manager.closeWhenDone", false);
            profile.setPreference("xpinstall.signatures.required", false);
            logger.info("The Profile Setup Data");
            fourthdriver = new FirefoxDriver(profile);
        } else if (sbrowser.equalsIgnoreCase("Chrome")) {
            fourthdriver = new ChromeDriver(chromeProfileSetUp());
        } else if (sbrowser.equalsIgnoreCase("IE")) {
            fourthdriver = new InternetExplorerDriver(ieProfileSetUp());
        } else if (sbrowser.equalsIgnoreCase("Safari")) {
            DesiredCapabilities capabilities = DesiredCapabilities.safari();
            fourthdriver = new SafariDriver(capabilities);
        }

    }
    fourthdriver.manage().timeouts().implicitlyWait(1, TimeUnit.MINUTES);
    return fourthdriver;
}

From source file:com.chtr.tmoauto.webui.CommonFunctions.java

License:Open Source License

/**
 * This method build a webDriver based on the passed in browser request
 *
 * @param browser// ww w. j  ava2  s .c  om
 * @return WebDriver
 * @throws MalformedURLException
 */
private static WebDriver buildWebDriver(String browserName) {
    DesiredCapabilities capability = null;
    BrowserType browserType = BrowserType.getBrowserTypeFromString(browserName);
    switch (browserType) {
    case MARIONETTE:
        FirefoxProfile ffProfile = null;
        ffProfile = new FirefoxProfile();
        ffProfile.setAcceptUntrustedCertificates(true);
        ffProfile.setAssumeUntrustedCertificateIssuer(false);
        DesiredCapabilities cap = DesiredCapabilities.firefox();
        cap.setCapability("marionette", true);
        cap.setCapability("firefox_profile", ffProfile);
        cap.setCapability("handlesAlerts", true);
        sysEnv = System.getenv("webdriver.firefox.marionette");
        if (sysEnv == null) {
            sysEnv = findFileName("C:/apps/selenium", "geckodriver.exe", FileSearchType.File);
            if (sysEnv == null) {
                log.info(
                        "Please set the webdriver.firefox.marionette in system environment variables and restart the PC OR copy all your webdrivers under 'C:/selenium' location");
                throw new RuntimeException("Failed to instantiate a WebDriver instance for " + browserName);
            } else {
                System.setProperty("webdriver.firefox.marionette", sysEnv);
            }
        }
        return new MarionetteDriver(capability);
    case FIREFOX_DRIVER:
        capability = DesiredCapabilities.firefox();
        FirefoxProfile firefoxProfile = new FirefoxProfile();
        firefoxProfile.setAcceptUntrustedCertificates(true);
        firefoxProfile.setEnableNativeEvents(true);
        firefoxProfile.setAssumeUntrustedCertificateIssuer(true);
        capability.setCapability(FirefoxDriver.PROFILE, firefoxProfile);
        return new FirefoxDriver(capability);
    case CHROME_DRIVER:
        sysEnv = System.getenv("webdriver.chrome.driver");
        if (sysEnv == null) {
            sysEnv = findFileName("C:/apps/selenium", "chromedriver.exe", FileSearchType.File);
            if (sysEnv == null) {
                log.info(
                        "Please set the webdriver.chrome.driver in system environment variables and restart the PC OR copy all your webdrivers under 'C:/selenium' location");
                throw new RuntimeException("Failed to instantiate a WebDriver instance for " + browserName);
            } else {
                System.setProperty("webdriver.chrome.driver", sysEnv);
            }
        }
        capability = DesiredCapabilities.chrome();
        ChromeOptions options = new ChromeOptions();
        options.addArguments(new String[] { "--allow-running-insecure-content" });
        options.addArguments(new String[] { "--ignore-certificate-errors" });
        options.addArguments(new String[] { "--enable-npapi" });
        options.addArguments(new String[] { "--disable-extensions" });
        options.addArguments(new String[] { "--start-maximized" });
        capability.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
        capability.setCapability(ChromeOptions.CAPABILITY, options);
        return new ChromeDriver(capability);
    case INTERNET_EXPLORER:
        sysEnv = System.getenv("webdriver.ie.driver");
        if (sysEnv == null) {
            sysEnv = findFileName("C:/apps/selenium", "IEDriverServer.exe", FileSearchType.File);
            if (sysEnv == null) {
                log.info(
                        "Please set the webdriver.ie.driver in system environment variables and restart the PC");
                throw new RuntimeException("Failed to instantiate a WebDriver instance for " + browserName);
            } else {
                System.setProperty("webdriver.ie.driver", sysEnv);
            }
        }
        capability = DesiredCapabilities.internetExplorer();
        capability.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
        capability.setCapability("ignoreProtectedModeSettings", true);
        capability.setCapability("acceptSslCerts", true);
        capability.setCapability("ignoreZoomSetting", true);
        capability.setCapability("nativeEvents", true);
        capability.setCapability("ie.ensureCleanSession", true);
        return new InternetExplorerDriver(capability);
    case SAFARI:
        capability = DesiredCapabilities.safari();
        capability.setCapability("acceptSslCerts", true);
        capability.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
        capability.setCapability("ensureCleanSession", true);
        capability.setJavascriptEnabled(true);
        return new SafariDriver(capability);
    /*        case OPERA_DRIVER:
    capability = DesiredCapabilities.opera();
    capability.setCapability("opera.host", "127.0.0.1");
    return new OperaDriver();
     */
    case EDGE:
        capability = DesiredCapabilities.edge();
        EdgeOptions option = new EdgeOptions();
        capability.setCapability("edgeOptions", option);
        return new EdgeDriver(capability);
    default:
        log.info(
                "Currenty support is there for Chrome, Firefox, Firefox Marionette, Internet Explorer, Edge, Safari & Opera. Support is not there for "
                        + browserName);
        capability = DesiredCapabilities.firefox();
        FirefoxProfile firefoxProf = new FirefoxProfile();
        firefoxProf.setAcceptUntrustedCertificates(true);
        firefoxProf.setEnableNativeEvents(true);
        firefoxProf.setAssumeUntrustedCertificateIssuer(true);
        capability.setCapability(FirefoxDriver.PROFILE, firefoxProf);
        return new FirefoxDriver(capability);
    }
}

From source file:com.chtr.tmoauto.webui.CommonFunctions.java

License:Open Source License

/**
 * This method build a RemoteWebDriver based on the passed in browser request
 *
 * @param browser/*from  w ww .ja v a  2 s  . c o  m*/
 * @return RemoteWebDriver
 *
 */
private static RemoteWebDriver buildRemoteWebDriver(String browserName) {
    DesiredCapabilities capability = null;
    BrowserType browserType = BrowserType.getBrowserTypeFromString(browserName);
    switch (browserType) {
    case MARIONETTE:
        FirefoxProfile ffProfile = null;
        ffProfile = new FirefoxProfile();
        ffProfile.setAcceptUntrustedCertificates(true);
        ffProfile.setAssumeUntrustedCertificateIssuer(false);
        DesiredCapabilities cap = DesiredCapabilities.firefox();
        cap.setCapability("marionette", true);
        cap.setCapability("firefox_profile", ffProfile);
        cap.setCapability("handlesAlerts", true);
        sysEnv = System.getenv("webdriver.firefox.marionette");
        if (sysEnv == null) {
            sysEnv = findFileName("C:/apps/selenium", "geckodriver.exe", FileSearchType.File);
            if (sysEnv == null) {
                log.info(
                        "Please set the webdriver.firefox.marionette in system environment variables and restart the PC OR copy all your webdrivers under 'C:/selenium' location");
                throw new RuntimeException("Failed to instantiate a WebDriver instance for " + browserName);
            } else {
                System.setProperty("webdriver.firefox.marionette", sysEnv);
            }
        }
        return new MarionetteDriver(capability);
    case FIREFOX_DRIVER:
        capability = DesiredCapabilities.firefox();
        FirefoxProfile firefoxProfile = new FirefoxProfile();
        firefoxProfile.setAcceptUntrustedCertificates(true);
        firefoxProfile.setEnableNativeEvents(true);
        capability.setCapability(FirefoxDriver.PROFILE, firefoxProfile);
        capability.setPlatform(capability.getPlatform());
        capability.setVersion(capability.getVersion());
        return new FirefoxDriver(capability);
    case CHROME_DRIVER:
        sysEnv = System.getenv("webdriver.chrome.driver");
        if (sysEnv == null) {
            sysEnv = findFileName("C:/apps/selenium", "chromedriver.exe", FileSearchType.File);
            if (sysEnv == null) {
                log.info(
                        "Please set the webdriver.chrome.driver in system environment variables and restart the PC OR copy all your webdrivers under 'C:/selenium' location");
                throw new RuntimeException("Failed to instantiate a WebDriver instance for " + browserName);
            } else {
                System.setProperty("webdriver.chrome.driver", sysEnv);
            }
        }
        capability = DesiredCapabilities.chrome();
        ChromeOptions options = new ChromeOptions();
        options.addArguments(new String[] { "--allow-running-insecure-content" });
        options.addArguments(new String[] { "--ignore-certificate-errors" });
        options.addArguments(new String[] { "--enable-npapi" });
        options.addArguments(new String[] { "--disable-extensions" });
        options.addArguments(new String[] { "--start-maximized" });
        capability.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
        capability.setCapability(ChromeOptions.CAPABILITY, options);
        capability.setPlatform(capability.getPlatform());
        capability.setVersion(capability.getVersion());
        return new ChromeDriver(capability);
    case INTERNET_EXPLORER:
        sysEnv = System.getenv("webdriver.ie.driver");
        if (sysEnv == null) {
            sysEnv = findFileName("C:/apps/selenium", "IEDriverServer.exe", FileSearchType.File);
            if (sysEnv == null) {
                log.info(
                        "Please set the webdriver.ie.driver in system environment variables and restart the PC");
                throw new RuntimeException("Failed to instantiate a WebDriver instance for " + browserName);
            } else {
                System.setProperty("webdriver.ie.driver", sysEnv);
            }
        }
        capability = DesiredCapabilities.internetExplorer();
        capability.setCapability("ignoreProtectedModeSettings", true);
        String browserVersion = capability.getVersion();
        if (browserVersion != null && browserVersion.equals("10")) {
            capability.setPlatform(Platform.WINDOWS);
            capability.setVersion(browserVersion);
        } else if (browserVersion != null && browserVersion.equals("11")) {
            capability.setPlatform(Platform.WIN8_1);
            capability.setVersion(browserVersion);
        }
        capability.setBrowserName("internet explorer");
        capability.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
        return new InternetExplorerDriver(capability);
    case SAFARI:
        capability = DesiredCapabilities.safari();
        capability.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
        capability.setCapability("ensureCleanSession", true);
        capability.setPlatform(capability.getPlatform());
        capability.setVersion(null);
        return new SafariDriver(capability);
    /*         case OPERA_DRIVER:
    capability = DesiredCapabilities.opera();
    capability.setCapability("opera.profile", "/test");
    return new OperaDriver();
    */
    case EDGE:
        capability = DesiredCapabilities.edge();
        EdgeOptions option = new EdgeOptions();
        capability.setCapability("edgeOptions", option);
        return new EdgeDriver(capability);
    default:
        log.info(
                "Currenty support is there for Chrome, Firefox, Firefox Marionette, Internet Explorer, Edge, Safari & Opera. Support is not there for "
                        + browserName);
        capability = DesiredCapabilities.firefox();
        firefoxProfile = new FirefoxProfile();
        firefoxProfile.setAcceptUntrustedCertificates(true);
        firefoxProfile.setEnableNativeEvents(true);
        capability.setCapability(FirefoxDriver.PROFILE, firefoxProfile);
        capability.setPlatform(capability.getPlatform());
        capability.setVersion(capability.getVersion());
        return new FirefoxDriver(capability);
    }
}

From source file:com.cisco.dbds.utils.selenium.SeleniumUtilities.java

License:Open Source License

/**
 * Opens the Firefox instance for Selenium.
 *///w  w w. ja  va 2 s .  com
public static void openBrowser() {
    try {
        String browser = Validate.readsystemvariable("browser");
        LogHandler.info("Browser:" + browser);

        String digest = Validate.readsystemvariable("browser.digest");
        LogHandler.info("Digest Auth:" + digest);

        if (browser.equals("firefox") && digest.toUpperCase().equals("YES")) {
            LogHandler.info("Fire Fox Driver with addon configuration");
            FirefoxProfile profile = new FirefoxProfile();
            profile.setPreference("browser.link.open_newwindow", 2);
            File extentions = new File(
                    System.getProperty("user.dir") + Validate.readsystemvariable("firefox.addons.path"));
            if (extentions.exists()) {
                for (File extention : extentions.listFiles()) {
                    if (extention.getName().endsWith(".xpi")) {
                        try {
                            profile.addExtension(new File(extention.getAbsolutePath()));
                        } catch (IOException e) {
                            Assert.assertTrue("Exception occured while adding the extension to the profile..",
                                    false);
                        }
                        LogHandler.info("Added extention: " + extention.getName());
                    }
                }
            }
            driver = new FirefoxDriver(profile);
        } else if (browser.equals("firefox") && digest.toUpperCase().equals("NO")) {
            LogHandler.info("Fire Fox Driver without addon configuration");
            driver = new FirefoxDriver();
        } else if (browser.equals("chrome"))

        {
            LogHandler.info("Chrome Driver configuration");
            JarFile jarFile = jarfilehandler.jarForClass(SeleniumUtilities.class);
            jarfilehandler.copyResourcesToDirectory(jarFile, "chrome", "src/it/resources/chrome");
            System.setProperty("webdriver.chrome.driver", "src/it/resources/chrome/chromedriver.exe");
            driver = new ChromeDriver();

        } else if (browser.equals("IE")) {

            LogHandler.info("IE Driver configuration");
            DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
            String IEpath = (SeleniumUtilities.class).getResource("").getPath();
            System.out.println(IEpath.substring(0, IEpath.length() - 31));

            capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,
                    true);
            capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);

            JarFile jarFile = jarfilehandler.jarForClass(SeleniumUtilities.class);
            // JarFile jarFile = new
            // JarFile("C:\\Users\\amsathishkumar\\.m2\\repository\\com\\cisco\\dbds\\Utils\\0.0.1-Release\\Utils-0.0.1-Release.jar");
            jarfilehandler.copyResourcesToDirectory(jarFile, "internetexplorer",
                    "src/it/resources/InternetExplorer");

            System.setProperty("webdriver.ie.driver", "src/it/resources/internetexplorer/IEDriverServer.exe");
            driver = new InternetExplorerDriver(capabilities);

            // driver = new InternetExplorerDriver();
        } else {
            Assert.assertTrue("include the browswer variable...", false);
        }
    } catch (Exception e) {
        LogHandler.info("Check the varaiables: browser,firefox.addons.path,user.dir");

    }
    //   driver.manage().timeouts().pageLoadTimeout(3, TimeUnit.SECONDS);
    //   driver.manage().timeouts().setScriptTimeout(10, TimeUnit.SECONDS);
    driver.manage().window().maximize();
    driver.manage().timeouts().implicitlyWait(Integer.parseInt(System.getProperty("implicit.wait")),
            TimeUnit.SECONDS);
    driver.manage().timeouts().pageLoadTimeout(Integer.parseInt(System.getProperty("explicit.wait")),
            TimeUnit.SECONDS);
}

From source file:com.denimgroup.threadfix.selenium.tests.BaseTest.java

License:Mozilla Public License

public BaseTest(String browser) {
    if (browser.equals("chrome")) {
        String location = BaseTest.class.getClassLoader().getResource("Drivers").getFile();
        String log = "";
        if (System.getProperty("os.name").startsWith("Windows")) {
            location = location + "/chromedriver.exe";
            log = "NUL";
        } else {//from   w  ww  .  j  av  a2  s.co  m
            location = location + "/chromedriver";
            log = "/dev/null";
        }
        service = new ChromeDriverService.Builder().usingDriverExecutable(new File(location)).usingAnyFreePort()
                .withLogFile(new File(log)).build();
        try {
            service.start();
        } catch (IOException e) {
            e.printStackTrace();
        }
        driver = new RemoteWebDriver(service.getUrl(), DesiredCapabilities.chrome());
    }

    if (browser.equals("firefox")) {
        driver = new FirefoxDriver();
    }

    if (browser.equals("IE")) {
        String location = BaseTest.class.getClassLoader().getResource("Drivers").getFile();
        location = location + "/IEDriverServer.exe";
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
        driver = new InternetExplorerDriver(capabilities);
    }
}

From source file:com.elastica.browserfactory.IEDriverFactory.java

License:Apache License

@Override
public WebDriver createWebDriver() throws IOException {

    // killProcess();
    if (!OSUtility.isWindows()) {
        throw new RuntimeException("IE browser is only supported on windows!");
    }//w  w w .  jav  a 2 s  .  co m

    DriverConfig cfg = this.getWebDriverConfig();

    driver = new InternetExplorerDriver(new IECapabilitiesFactory().createCapabilities(cfg));

    // Implicit Waits to handle dynamic element. The default value is 5 seconds.
    setImplicitWaitTimeout(cfg.getImplicitWaitTimeout());
    if (cfg.getPageLoadTimeout() >= 0) {
        driver.manage().timeouts().pageLoadTimeout(cfg.getPageLoadTimeout(), TimeUnit.SECONDS);
    }

    this.setWebDriver(driver);
    return driver;
}