Example usage for org.openqa.selenium.firefox FirefoxDriver FirefoxDriver

List of usage examples for org.openqa.selenium.firefox FirefoxDriver FirefoxDriver

Introduction

In this page you can find the example usage for org.openqa.selenium.firefox FirefoxDriver FirefoxDriver.

Prototype

public FirefoxDriver(FirefoxDriverService service) 

Source Link

Usage

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

License:Open Source License

/**
 * Create webdriver entry/*from  w ww .  ja  v  a2 s . c  o  m*/
 * 
 * @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.fullteaching.backend.e2e.FirefoxUser.java

License:Apache License

public FirefoxUser(String userName, int timeOfWaitInSeconds) {
    super(userName, timeOfWaitInSeconds);

    DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setCapability("acceptInsecureCerts", true);
    FirefoxProfile profile = new FirefoxProfile();

    // This flag avoids granting the access to the camera
    profile.setPreference("media.navigator.permission.disabled", true);
    // This flag force to use fake user media (synthetic video of multiple color)
    profile.setPreference("media.navigator.streams.fake", true);

    capabilities.setCapability(FirefoxDriver.PROFILE, profile);

    String eusApiURL = System.getenv("ET_EUS_API");

    if (eusApiURL == null) {
        this.driver = new FirefoxDriver(capabilities);
    } else {//w ww  .j a va 2s . c o  m
        try {
            capabilities.setBrowserName("firefox");

            this.driver = new RemoteWebDriver(new URL(eusApiURL), capabilities);

        } catch (MalformedURLException e) {
            throw new RuntimeException("Exception creaing eusApiURL", e);
        }
    }

    this.driver.manage().timeouts().setScriptTimeout(this.timeOfWaitInSeconds, TimeUnit.SECONDS);

    this.configureDriver();
}

From source file:com.galenframework.browser.SeleniumBrowserFactory.java

License:Apache License

public static WebDriver getDriver(String browserType) {

    if (StringUtils.isEmpty(browserType) || FIREFOX.equals(browserType)) {
        return new FirefoxDriver(SeleniumBrowserFactory.getBrowserCapabilities(browserType));
    } else if (CHROME.equals(browserType)) {
        return new ChromeDriver(SeleniumBrowserFactory.getBrowserCapabilities(browserType));
    } else if (IE.equals(browserType)) {
        return new InternetExplorerDriver(SeleniumBrowserFactory.getBrowserCapabilities(browserType));
    } else if (PHANTOMJS.equals(browserType)) {
        return new PhantomJSDriver();
    } else if (SAFARI.equals(browserType)) {
        return new SafariDriver();
    } else if (EDGE.equals(browserType)) {
        return new EdgeDriver();
    } else {/*w w w  . jav a2  s  .c o  m*/
        throw new RuntimeException(String.format("Unknown browser type: \"%s\"", browserType));
    }
}

From source file:com.galois.fiveui.drivers.Drivers.java

License:Apache License

/**
 * Return a new Firefox webdriver.//from w ww. j av a2  s  . c o  m
 * @param ffProfile Directory path for the desired Firefox profile to use. If
 *                  null a temporary blank profile is used.
 * @return
 */
public static FirefoxDriver buildFFDriver(String ffProfile) {
    File profileDir;
    if (null == ffProfile) {
        profileDir = Files.createTempDir();
        profileDir.deleteOnExit();
    } else {
        profileDir = new File(ffProfile);
    }
    System.out.println("com.galois.fiveui.drivers: using directory for Firefox profile: " + profileDir);
    FirefoxProfile profile = new FirefoxProfile(profileDir);

    String ffBinaryPath = System.getProperty(FIREFOX_BIN_PATH);

    FirefoxDriver driver;
    if (null == ffBinaryPath) {
        System.err.println("WARNING: Running essentially random version of Firefox!");
        System.err.println("         set a path to firefox with -D" + FIREFOX_BIN_PATH + "=<path to firefox>");
        driver = new FirefoxDriver(profile);
    } else {
        FirefoxBinary binary = new FirefoxBinary(new File(ffBinaryPath));
        driver = new FirefoxDriver(binary, profile);
    }

    return driver;
}

From source file:com.gargoylesoftware.htmlunit.WebDriverTestCase.java

License:Apache License

/**
 * Builds a new WebDriver instance.// w w  w .  j  av  a 2 s .com
 * @return the instance
 * @throws IOException in case of exception
 */
protected WebDriver buildWebDriver() throws IOException {
    if (useRealBrowser()) {
        if (getBrowserVersion().isIE()) {
            if (IE_BIN_ != null) {
                System.setProperty("webdriver.ie.driver", IE_BIN_);
            }
            return new InternetExplorerDriver();
        }

        if (BrowserVersion.CHROME == getBrowserVersion()) {
            if (CHROME_SERVICE_ == null) {
                final ChromeDriverService.Builder builder = new ChromeDriverService.Builder();
                if (CHROME_BIN_ != null) {
                    builder.usingDriverExecutable(new File(CHROME_BIN_));
                }
                CHROME_SERVICE_ = builder.usingAnyFreePort().build();

                CHROME_SERVICE_.start();
            }
            return new ChromeDriver(CHROME_SERVICE_);
        }

        if (BrowserVersion.EDGE == getBrowserVersion()) {
            if (EDGE_BIN_ != null) {
                System.setProperty("webdriver.edge.driver", EDGE_BIN_);
            }
            return new EdgeDriver();
        }

        if (BrowserVersion.FIREFOX_45 == getBrowserVersion()) {
            // disable the new marionette interface because it requires ff47 or more
            System.setProperty("webdriver.firefox.marionette", "false");

            if (FF45_BIN_ != null) {
                final FirefoxOptions options = new FirefoxOptions();
                options.setBinary(FF45_BIN_);
                return new FirefoxDriver(options);
            }
            return new FirefoxDriver();
        }

        if (BrowserVersion.FIREFOX_52 == getBrowserVersion()) {
            if (FF52_BIN_ != null) {
                final FirefoxOptions options = new FirefoxOptions();
                options.setBinary(FF52_BIN_);
                return new FirefoxDriver(options);
            }
            return new FirefoxDriver();
        }

        throw new RuntimeException("Unexpected BrowserVersion: " + getBrowserVersion());
    }
    if (webDriver_ == null) {
        final DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setBrowserName(BrowserType.HTMLUNIT);
        capabilities.setVersion(getBrowserName(getBrowserVersion()));
        webDriver_ = new HtmlUnitDriver(capabilities);
    }
    return webDriver_;
}

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

License:Open Source License

/**
 * initialization FirefoxDriver/*from   ww  w .  ja va 2  s .  c om*/
 *
 * @param capabilities - desired capabilities
 */
public static void initFirefoxDriver(Capabilities capabilities) {
    ReporterNGExt.logTechnical("Initialization Firefox Driver");
    setWebDriver(new FirefoxDriver(capabilities));
    setTimeout(TIMEOUT);
    getDriver().manage().window().maximize();
}

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

License:Open Source License

/**
 * initialization FF with some profile/*w  w  w.  j  av a  2s  .c  o  m*/
 * Use it if you want to use your profile for FF. It doesn't work remotely.
 * Before running create your profile. Use cmd : firefox.exe -ProfileManager -no-remote
 *
 * @param path - profile path
 */
public static void initFFProfile(String path) {
    ReporterNGExt.logTechnical(String.format("Initialization Firefox Driver with Profile '%s'", path));
    File profileDir = new File(path);
    FirefoxProfile ffprofile = new FirefoxProfile(profileDir);
    ffprofile.setEnableNativeEvents(true);
    setWebDriver(new FirefoxDriver(ffprofile));
    getDriver().manage().window().maximize();
}

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

License:Open Source License

/**
 * initialization FirefoxDriver/*from   w w  w . j av  a2s  .co  m*/
 */
public static void initFirefoxDriver() {
    ReporterNGExt.logTechnical("Initialization Firefox Driver");
    FirefoxProfile profile = new FirefoxProfile();
    profile.setAcceptUntrustedCertificates(true);
    profile.setAssumeUntrustedCertificateIssuer(true);
    profile.setEnableNativeEvents(true);
    profile.setPreference("javascript.enabled", true);
    profile.setPreference("dom.max_script_run_time", 0);
    profile.setPreference("dom.max_chrome_script_run_time", 0);
    setWebDriver(new FirefoxDriver(profile));
    setTimeout(TIMEOUT);
    getDriver().manage().window().maximize();
}

From source file:com.gorillalogic.agents.html.WebDriverAgent.java

License:Open Source License

@Override
public void start() {
    try {//from w  w  w  . j  av a  2  s.  c om
        ping();
    } catch (Exception e) {
        FirefoxProfile profile = new FirefoxProfile();
        try {
            Method m = FirefoxProfile.class.getDeclaredMethod("addExtension", String.class,
                    org.openqa.selenium.firefox.internal.Extension.class);
            m.setAccessible(true);
            //            ClasspathExtension extension = new ClasspathExtension(SeleniumCommandProcessor.class,
            //                    "/" + SeleniumCommandProcessor.class.getPackage().getName().replace(".", "/") + "/selenium-ide.xpi");            
            //            m.invoke(profile, "selenium-ide", extension);            
            ClasspathExtension extension = new ClasspathExtension(SeleniumCommandProcessor.class,
                    "/" + SeleniumCommandProcessor.class.getPackage().getName().replace(".", "/")
                            + "/monkeytalk-recorder.xpi");
            m.invoke(profile, "monkeytalk-recorder", extension);
        } catch (Exception ex) {
            throw new IllegalStateException(
                    "Unable to install monkeytalk-recorder firefox extension: " + ex.getMessage());
        }
        scp = new SeleniumCommandProcessor(BrowserType.FIREFOX, getHost(), new FirefoxDriver(profile));
    }
}

From source file:com.hack23.cia.systemintegrationtest.AbstractRoleSystemTest.java

License:Apache License

/**
 * Gets the web driver.//from  w  w w. j a v  a2s .c om
 *
 * @return the web driver
 */
protected final synchronized WebDriver getWebDriver() {

    WebDriver driver = null;
    if ("firefox".equals(browser)) {
        final DesiredCapabilities capabilities = DesiredCapabilities.firefox();
        capabilities.setCapability("marionette", true);
        driver = new FirefoxDriver(capabilities);
    } else if ("chrome".equals(browser)) {
        driver = new ChromeDriver();
    } else if ("htmlunit-firefox".equals(browser)) {
        final HtmlUnitDriver htmlUnitDriver = new HtmlUnitDriver(BrowserVersion.FIREFOX_45);
        htmlUnitDriver.setJavascriptEnabled(true);
        driver = htmlUnitDriver;
    } else if ("htmlunit-ie11".equals(browser)) {
        final HtmlUnitDriver htmlUnitDriver = new HtmlUnitDriver(BrowserVersion.INTERNET_EXPLORER);
        htmlUnitDriver.setJavascriptEnabled(true);
        driver = htmlUnitDriver;
    } else if ("htmlunit-edge".equals(browser)) {
        final HtmlUnitDriver htmlUnitDriver = new HtmlUnitDriver(BrowserVersion.EDGE);
        htmlUnitDriver.setJavascriptEnabled(true);
        driver = htmlUnitDriver;
    } else if ("htmlunit-chrome".equals(browser)) {
        final HtmlUnitDriver htmlUnitDriver = new HtmlUnitDriver(BrowserVersion.CHROME);
        htmlUnitDriver.setJavascriptEnabled(true);
        driver = htmlUnitDriver;
    } else {
        fail("No valid browser parameter:" + browser);
    }

    driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);
    driver.manage().timeouts().setScriptTimeout(30, TimeUnit.SECONDS);

    webDriverMap.put(browser, driver);
    driver.manage().window().maximize();
    return driver;
}