Example usage for org.openqa.selenium.safari SafariDriver SafariDriver

List of usage examples for org.openqa.selenium.safari SafariDriver SafariDriver

Introduction

In this page you can find the example usage for org.openqa.selenium.safari SafariDriver SafariDriver.

Prototype

public SafariDriver(SafariDriverService safariService) 

Source Link

Document

Initializes a new SafariDriver backed by the specified SafariDriverService .

Usage

From source file:com.autocognite.selenium.lib.SeleniumWebUiDriver.java

License:Apache License

public WebDriver getSafariDriver() {
    this.setAppTitle(getRunConfig().get(UiAutomator.WINDOW_NAME_SAFARI));
    capabilities = getSafariCapabilitiesSkeleton();
    setCapabilities(capabilities);//from  w w  w . ja  v  a2  s  . c  o m
    return new SafariDriver(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  a 2  s  .com*/
 */
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  ww  w  .j  av a2  s  . com
        } 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);
        }//ww w.ja  va  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;//from w ww .j ava 2  s .  c om
    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/*w ww .j  a  v  a 2  s. c  o  m*/
 * @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  ww  w.j a 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.elastica.browserfactory.SafariDriverFactory.java

License:Apache License

@Override
public WebDriver createWebDriver() {
    DesiredCapabilities cap = new SafariCapabilitiesFactory().createCapabilities(webDriverConfig);
    System.out.println("Begin Safari");
    synchronized (this.getClass()) {
        driver = new SafariDriver(cap);
    }/*  w  w  w.j  ava2 s  .  com*/

    System.out.println("safari started");

    this.setWebDriver(driver);

    // Implicit Waits handles dynamic element.
    setImplicitWaitTimeout(webDriverConfig.getImplicitWaitTimeout());
    if (webDriverConfig.getPageLoadTimeout() >= 0) {
        TestLogging.log("Safari doesn't support pageLoadTimeout");
    }

    return driver;
}

From source file:com.expedia.lux.accountsettingstest.core.CreateWebDriverHelper.java

License:Open Source License

/**
 * Create webdriver entry//from ww w.  j av  a  2 s  .  c  om
 * 
 * @param testName
 * @param browserType
 *            1 is chrome, 2 is firefox, 0 is internet explorer, 3 is safari
 * @param logging
 * @return
 */
public static WebDriver createWebDriver(String testName, String testBrowser) {
    WebDriver driver = null;
    String isCloud = String.valueOf(isRemoteTest);

    if (!isRemoteTest) {
        DesiredCapabilities capabillities = new DesiredCapabilities();
        capabillities.setCapability(CapabilityType.SUPPORTS_WEB_STORAGE, false);
        switch (testBrowser.toUpperCase()) {
        case "IE":
            // Need set iedriver.exe file path
            System.setProperty("webdriver.ie.driver", ieDriverPath);
            driver = new InternetExplorerDriver(capabillities);
            break;
        case "FF":
            // TODO: Not stable
            capabillities.setCapability(FirefoxDriver.BINARY, new FirefoxBinary(new File(firefoxPath)));
            FirefoxProfile profile = new FirefoxProfile();
            profile.setAcceptUntrustedCertificates(true);
            capabillities.setCapability(FirefoxDriver.PROFILE, profile);
            driver = new FirefoxDriver(capabillities);
            break;
        case "SF":
            // TODO: No one's machine has safari installed in SZ
            driver = new SafariDriver(capabillities);
            break;
        default:
            // Need set the chromedriver.exe file path.
            System.setProperty("webdriver.chrome.driver", chromeDriverPath);
            driver = new ChromeDriver(capabillities);
            break;
        }
    } else {
        DesiredCapabilities capabillities;
        switch (testBrowser.toUpperCase()) {
        case "IE9":
            capabillities = DesiredCapabilities.internetExplorer();
            capabillities.setCapability(CapabilityType.VERSION, "9");
            break;
        case "FF":
            capabillities = DesiredCapabilities.firefox();
            break;
        case "SF":
            capabillities = DesiredCapabilities.safari();
            capabillities.setCapability("platform", "OS X 10.6");
            capabillities.setCapability("version", "5");
            capabillities.setCapability("disable-popup-handler", true);
            break;
        case "IE7":
            capabillities = DesiredCapabilities.internetExplorer();
            capabillities.setCapability(CapabilityType.VERSION, "7");
            break;
        case "IE8":
            capabillities = DesiredCapabilities.internetExplorer();
            capabillities.setCapability(CapabilityType.VERSION, "8");
            break;
        case "IE10":
            capabillities = DesiredCapabilities.internetExplorer();
            capabillities.setCapability(CapabilityType.VERSION, "10");
            break;
        case "IE11":
            capabillities = DesiredCapabilities.internetExplorer();
            capabillities.setCapability("version", "11");
            break;
        case "OP":
            capabillities = DesiredCapabilities.opera();
            capabillities.setCapability("version", "12");
            break;
        //Note: may not support HTTPS via sauceConnect with mobile platform yet
        case "IOS":
            capabillities = DesiredCapabilities.iphone();
            capabillities.setCapability("version", "6.1");
            capabillities.setCapability("platform", "OS X 10.8");
            capabillities.setCapability("device-orientation", "portrait");
            capabillities.setCapability("disable-popup-handler", true);
            break;
        case "AND":
            capabillities = DesiredCapabilities.android();
            capabillities.setCapability("version", "4.0");
            capabillities.setCapability("platform", "Linux");
            capabillities.setCapability("device-type", "tablet");
            capabillities.setCapability("device-orientation", "portrait");
            break;
        case "SAUCE":
            return createWebDriverSaucelab(testName + " (SauceLabs)");
        default:
            capabillities = DesiredCapabilities.chrome();
            capabillities.setBrowserName("chrome");
            break;
        }

        try {
            driver = new RemoteWebDriver(new URL("http://10.208.52.16:5555/wd/hub"), capabillities);
        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    fillBrowserName(testBrowser, isCloud);
    return driver;
}

From source file:com.ggasoftware.uitest.utils.WebDriverWrapper.java

License:Open Source License

/**
 * initialization SafariDriver//  w w w  . j a v a2  s  .  c  o  m
 *
 * @param capabilities - desired capabilities
 */
public static void initSafariDriver(Capabilities capabilities) {
    ReporterNGExt.logTechnical("Initialization Safari Driver");
    setWebDriver(new SafariDriver(capabilities));
    setTimeout(TIMEOUT);
    getDriver().manage().window().maximize();
}