Skip to main content
Version: Next

Configuration

Create the config.json file anywhere in your project, and provide its relative path as a command-line argument: --config <relative_path_of_config.json>.

For Windows, replace all instances of forward-slashes(/) each with 2 backslashes(\).

Configuration file attributes

Attribute nameMandatory?TypeExample
featurePathYesString"./path/to/feature/dir"
stepDefinitionPathYesString"./path/to/step_def/dir"
supportFolderPathYesString"./path/to/support/dir"
reportFolderPathYesString"./path/to/report/dir"
browserNoArray of Strings[ "chrome", "firefox" ]
tagsNoString"@sanity"
"@sanity @smoke"
parallelTypeNoString"features"
rerunNoBooleantrue
remoteAppiumHubNoObject{
"address": "https://www.example-cloud.com/wd/hub",
"port": 8081
}
port is optional
desiredCapabilitiesNoObjectView below sample
SAMPLE CONFIGURATION FILE (click to expand)
{
"configurations": {
"browser": ["chrome"],
"tags": "@sanity",
"featurePath": ["test/features/"],
"stepDefinitionPath": ["test/step_definitions/"],
"supportFolderPath": ["test/support"],
"reportFolderPath": "test/reports",
"rerun": true,
"remoteAppiumHub": {
"address": "https://www.example-cloud.com/wd/hub",
"port": 8081
},
"desiredCapabilities": {
"chrome": {
"browserName": "chrome",
"unhandledPromptBehavior": "accept"
},
"ios": {
"browserName": "Safari",
"platformName": "iOS",
"platformVersion": "14.1",
"deviceName": "iPhone 12",
"automationName": "XCUITest",
"startIWDP": true,
"newCommandTimeout": 30,
"safariAllowPopups": true
}
}
}
}

CLI arguments

CLI argumentDescriptionExpected value typeExample
--config /path/to/config.jsonMandatory configuration file that defines the location of feature, step-definition and hook filesString--config ./config.json
--browser [browsers]Specify the browser name for the session (can be 'chrome', 'firefox', 'safari', 'edge', 'android', 'ios')String--browser chrome
--browser chrome firefox (for parallel execution)
--headlessAttempt to run a headless session (applicable for Chrome, Firefox)Boolean (optional)
--tags <tags>Provide select cucumber tags to be executedStringe.g. --tags @sanity
e.g. --tags "@smoke @sanity" (for multiple tags)
--parallelType featuresProvide this flag to run scenarios from a single feature within the same threadStringe.g. --parallelType features
--remoteAppiumHub <url>Provide this flag to override the appium url even if one is provided in the config fileStringe.g. --remoteAppiumHub https://appium.samplehuburl.com/
--addDesiredCaps <desiredCapObject>Add an entirely new desired capability object or add new attributes to an existing desired capability objectStringified JSONe.g. --addDesiredCap "{\"ios\":{\"secretKey\":\"shhd0ntte11any1\"}}"
--rerunRe-execute all failing tests one more timeBoolean (optional)
--cores <n>Number of threads in execution during parallel runNumber (default: 2)--cores 4
--retry <n>Cucumber-js native retry mechanism to run any failed test scenario(s)Number--retry 3
--webhookUrl <url>Slack webhook url for Slack notificationsString--webhookUrl https://webhookurl.slack.com/blah/
--ciLinkTitle <title>Set title of the Slack message forwarded using Slack webhook URLString--ciLinkTitle "Build 14"
--ciLinkUrl <url>Set hyperlink URL for the slack titleString--ciLinkUrl https://jenkins/url

Important: key-value pairs passed via CLI arguments will override the same key-value pairs provided in the configuration json file. For example, --browser chrome CLI argument will override any browser attribute setting in the configuration file.