Browser Configuration

Common Configuration

To choose the browser in which Selenium will execute the tests, configure type property in [Driver] section in properties.cfg file with one of these values: firefox, chrome, iexplore, edge or safari.

The following example shows how to choose Firefox:

[Driver]
type: firefox

By default, the browser is maximized. To define a different window size, configure window_width and window_height properties in [Driver] section:

[Driver]
window_width: 1024
window_height: 768

Additional Configuration

To configure Browser options, create a [Capabilities] configuration section and add every option that you want to configure with its value.

For example, the following configuration changes page load strategy to eager mode:

[Capabilities]
pageLoadStrategy: eager

Firefox

Firefox section

To use a predefined firefox profile, configure the profile directory in [Firefox] configuration section:

[Driver]
type: firefox

[Firefox]
profile: resources/firefox-profile.default

When firefox is installed in a non-default location, configure the firefox binary path in [Firefox] configuration section:

[Driver]
type: firefox

[Firefox]
binary: /usr/local/firefox_beta/firefox

FirefoxPreferences section

To configure Firefox preferences, create a [FirefoxPreferences] configuration section and add every preference that you want to configure with its value.

For example, the following configuration allows to download files without asking user:

[Driver]
type: firefox

[FirefoxPreferences]
browser.download.folderList: 2
browser.download.dir: C:\tmp
browser.helperApps.neverAsk.saveToDisk: application/octet-stream
dom.serviceWorkers.enabled: True

Another example showing how to use Firefox Device Mode:

[Driver]
type: firefox
window_width: 1200
window_height: 800

[FirefoxPreferences]
general.useragent.override: Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 5 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19

FirefoxExtensions section

Firefox plugins can also be installed adding their file paths to [FirefoxExtensions] configuration section.

For example, the following configuration exports network information to har files:

[Driver]
type: firefox

[FirefoxPreferences]
devtools.netmonitor.har.enableAutoExportToFile: True
devtools.netmonitor.har.defaultLogDir: /tmp/har
devtools.netmonitor.har.forceExport: False
devtools.netmonitor.har.pageLoadedTimeout: 10
extensions.netmonitor.har.enableAutomation: True
extensions.netmonitor.har.autoConnect: True
devtools.netmonitor.har.defaultFileName: network-test

[FirefoxExtensions]
firebug: resources/firebug-3.0.0-beta.3.xpi

FirefoxArguments section

To configure Firefox arguments, create a [FirefoxArguments] configuration section and add every argument that you want to configure with its value.

For example, to open firefox in a private browsing mode:

[Driver]
type: firefox

[FirefoxArguments]
-private:

Chrome

ChromePreferences section

To configure Chrome preferences, create a [ChromePreferences] configuration section and add every preference that you want to configure with its value.

For example, the following configuration allows to download files without asking user:

[Driver]
type: chrome

[ChromePreferences]
download.default_directory: C:\tmp

ChromeArguments section

To configure Chrome arguments, create a [ChromeArguments] configuration section and add every argument that you want to configure with its value.

For example, to use a predefined chrome profile:

[Driver]
type: chrome

[ChromeArguments]
user-data-dir: C:\Users\USERNAME\AppData\Local\Google\Chrome\User Data

ChromeExtensions section

Chrome plugins can also be installed adding their file paths to [ChromeExtensions] configuration section.

For example, the following configuration install firebug lite extension in Chrome:

[Driver]
type: chrome

[ChromeExtensions]
firebug: resources/firebug-lite.crx

ChromeMobileEmulation section

Another examples showing how to use Chrome Device Mode in two different ways:

[Driver]
type: chrome

[ChromeMobileEmulation]
deviceName: Google Nexus 5
[Driver]
type: chrome

[ChromeMobileEmulation]
deviceMetrics: { "width": 360, "height": 640, "pixelRatio": 3.0 }
userAgent: Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 5 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19

Capabilities section

Take in account that some Chrome capabilities contain a colon in their name, for example goog:loggingPrefs. As colon is not allowed in ConfigParser keys, it has been extended so they can be configured in [Capabilities] section replacing ‘:’ with ‘___’ in the key name:

[Capabilities]
goog___loggingPrefs: {'performance': 'ALL', 'browser': 'ALL', 'driver': 'ALL'}

Chrome section

Additional Chrome Options can be configured in [Chrome] configuration section:

[Driver]
type: chrome

[Chrome]
options: {'excludeSwitches': ['enable-automation'], 'perfLoggingPrefs': {'enableNetwork': True}}

When Chrome is installed in a non-default location, configure the Chrome binary path in [Chrome] configuration section:

[Driver]
type: chrome

[Chrome]
binary: /usr/local/chrome_beta/chrome

Driver Download

Since Selenium 4, Selenium Manager downloads automatically the corresponding browser driver, when running the tests locally. But if it is still needed to be downloaded, just follow these instructions:

Firefox

  • Download geckodriver-*.zip

  • Unzip file and save the executable in a local folder

  • Configure driver path in [Driver] section in properties.cfg file

    [Driver]
    type: firefox
    gecko_driver_path: C:\Drivers\geckodriver.exe
    

Chrome

  • Download chromedriver_*.zip

  • Unzip file and save the executable in a local folder

  • Configure driver path in [Driver] section in properties.cfg file

    [Driver]
    type: chrome
    chrome_driver_path: C:\Drivers\chromedriver.exe
    

Internet Explorer

  • Download IEDriverServer_Win32_*.zip

  • It’s recommended to use Win32 version, because x64 version is very slow

  • Unzip file and save the executable in a local folder

  • Configure driver path in [Driver] section in properties.cfg file

    [Driver]
    type: iexplore
    explorer_driver_path: C:\Drivers\IEDriverServer.exe
    

Edge

  • Download edgedriver_win64.zip

  • Unzip file and save the executable in a local folder

  • Configure driver path in [Driver] section in properties.cfg file

    [Driver]
    type: edge
    edge_driver_path: C:\Drivers\msedgedriver.exe
    

Safari

  • Configure driver path in [Driver] section in properties.cfg file

    [Driver]
    type: safari
    safari_driver_path: /usr/bin/safaridriver