Properties

Cheat sheet for Neodymium properties and configuration.

Configuration

The most important configuration files are listed below:

  • neodymium.properties
  • browser.properties
  • credentials.properties
  • gif-recording.properties
  • video-recording.properties

Properties files must reside in the ./config/*.properties directory at the project root. dev-*.properties files can be used to override or add values.

Loading order (highest priority last):

  1. system properties
  2. temporary config file
  3. config/dev-neodymium.properties
  4. system environment variables
  5. config/credentials.properties
  6. config/neodymium.properties

In cases where a property is found in several files, the value from the file with the highest priority is used.

Neodymium Properties

URL properties:

PropertyDefault valueDescription
neodymium.url<none>URL of the website to test
neodymium.url.protocol<none>protocol used to access the site
neodymium.url.host<none>host encoded in the URL
neodymium.url.path/path on the site that is used as test entry point
neodymium.url.site<none>site/channel part of the url
neodymium.url.includeList<none>list of URLs that the test is allowed to visit. Separated by whitespaces
neodymium.url.excludeList<none>list of URLs that the test is forbidden to visit. Separated by whitespaces

Localization:

PropertyDefault valueDescription
neodymium.localeen_USThe locale that should be used to lookup translations in localization feature
neodymium.localization.fileconfig/localization.yamlPath to the YAML formatted file that contains localized data for the site

Basic authentication:

PropertyDescription
neodymium.basicauth.usernameUsername that should be used for basic authentication
neodymium.basicauth.passwordPassword that should be used for basic authentication

Debugging:

PropertyDefault valueDescription
neodymium.debugUtils.highlightfalseHighlight elements that are selected by Selenide
neodymium.debugUtils.highlight.duration100 (ms)How long should an element be highlighted

Selenide:

PropertyDefault valueDescription
neodymium.selenide.timeout3000 (ms)How long should Selenide wait to match a condition
neodymium.selenide.fastSetValuefalseThe values of input field will be set via JavaScript
neodymium.selenide.clickViaJsfalseThe clicks will be executed via JavaScript

PopUp Blocker:

neodymium.popup.customPopUp=#myWindow

Further properties:

See Neodymium Properties.

Browser Properties

  • In .config/browser.properties.
  • Format: browserprofile.<browserId>.<property> = <value>.
browserprofile.Chrome_1600x1200.name=Chrome 1600x1200
browserprofile.Chrome_1600x1200.browser=chrome
browserprofile.Chrome_1600x1200.browserResolution=1600x1200
  • Select browser with @Browser("<browserId>")
  • Use default browser with @Browser
  • Prevent browser start with @SuppressBrowsers
PropertyMandatoryDescription
nameYESmore detailed name used for reporting.
browserYEStest browser (valid values: iphone, ipad, android, firefox, chrome, internetexplorer, safari)
versiondevice emulation onlybrowser version to use OR OS version of an emulated device
browserResolutionNOwidth and height in format 1200x900, 1200X900, or 1200,900
pageLoadStrategyNOnormal (default), eager, none
headlessNOtrue/false. Currently only for Firefox and Chrome.
acceptInsecureCertificatesNOtrue/false
argumentsNOAdditional command line arguments. Chained by semicolon (";").

Global browser properties:

browserprofile.global.pageLoadStrategy=normal|eager|none
browserprofile.global.headless=true|false
browserprofile.global.acceptInsecureCertificates=true|false
browserprofile.global.browserResolution=1200x900

Credentials Properties

  • URLs and credentials for SauceLabs and BrowserStack.
  • Stored in .config/credential.properties.
## Sauce Labs Credentials
browserprofile.testEnvironment.saucelabs.url=https://ondemand.saucelabs.com:443/wd/hub
browserprofile.testEnvironment.saucelabs.username=MyAccount
browserprofile.testEnvironment.saucelabs.password=secret