IgorZ
IgorZ

Reputation: 1164

How can I set the browser version in Selenium RemoteWebDriver?

When I use HtmlUnitDriver I can set my own browserVersion like:

private HtmlUnitDriver initDriver() {
    BrowserVersion browserVersion = new BrowserVersion(
            BROWSER_NAME,
            BROWSER_OS,
            USER_AGENT,
            Float.parseFloat(BROWSER_VERSION));
    browserVersion.setBrowserLanguage(BROWSER_LANGUAGE);
    browserVersion.setHtmlAcceptHeader(HTML_ACCEPT_HEADER);
    return new HtmlUnitDriver(browserVersion);
}

Is it possible to do the same with the RemoteWebDriver ?

WebDriver driver = new RemoteWebDriver(
            new URL("http://localhost:4444/wd/hub"),
            myCapabilities);

In Capabilities I can set myCapabilities.setBrowserName("htmlunit"). Is that all that I can do ?

EDIT:

To be clear, I need 3 things:
a) Selenium-server-standalone to be able to reuse the same old SessionID
b) To make browser that works only from console (so no firefox afaik)
c) To make http requests the same as the latest browsers so there will be no difference in the server logs.

Upvotes: 0

Views: 5291

Answers (1)

nemelianov
nemelianov

Reputation: 909

You can also set a lot of parameters, for example:

DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setBrowserName("firefox");
capabilities.setVersion("35.0");
capabilities.setPlatform(Platform.VISTA);

try {
    driver = new RemoteWebDriver(new URL("http://192.168.63.109:5555/wd/hub"), capabilities);
} catch (MalformedURLException e) {
    e.printStackTrace();
}

A bit more settings to skip dialog on file downloading using custom FirefoxProfile:

public static WebDriver setDriver() {

     FirefoxProfile fxProfile = new FirefoxProfile();

     fxProfile.setPreference("browser.download.folderList", 2);
     fxProfile.setPreference("browser.helperApps.alwaysAsk.force", false);
     fxProfile.setPreference("browser.download.manager.showWhenStarting", false);
     fxProfile.setPreference("browser.download.dir", dir);
     fxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/vnd.ms-excel," +
        "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");

     return new FirefoxDriver(fxProfile);
}

Upvotes: 1

Related Questions