Run Cucumber Features and Scenarios in Parallel
For HTML Reporting, head over to cucumber-html-reporter
npm install cucumber-parallel --save-dev
Notes:
- Latest version supports Cucumber 2
- Install
[email protected]
for cucumber version< Cucumber@2
--parallel ::parallelTypes::
parallelTypes: ['scenarios', 'features']
To run Scenarios
in Parallel, pass process.argv --parallel scenarios
$ node_modules/cucumber-parallel/bin/cucumber-parallel /path/to/features -r /path/to/step-defs --parallel scenarios -f json:path/to/file.json
It runs Features
in parallel by default, or by passing --parallel features
process argument
$ node_modules/cucumber-parallel/bin/cucumber-parallel /path/to/features -r /path/to/step-defs -f json:path/to/file.json
Supports all the arguments as cucumber-js, except --format
as explained above
$ node_modules/cucumber-parallel/bin/cucumber-parallel /path/to/features -r /path/to/step-defs -f json:path/to/file.json --tags=@myTag
$ node_modules/cucumber-parallel/bin/cucumber-parallel /path/to/eachFeatureSeperatedBySpaceWithScenarioLine -r /path/to/step-defs -f json:path/to/file.json --tags=@myTag
/path/to/eachFeatureSeperatedBySpace
: path/to/feature:scenarioLine path/to/feature:scenarioLine
E.g.
$ node_modules/cucumber-parallel/bin/cucumber-parallel /path/to/login.feature:10:20:25 path/to/signup.feature:18 -r /path/to/step-defs -f json:path/to/file.json --tags=@myTag
Because it runs features/scenarios in parallel, it only supports JSON format. You can save the JSON output to file by passing the cucumber-format as,
-f json:path/to/file.json
Above example will run login & signup features in parallel; two processes in parallel since two features are passed. Total 4 scenarios will run. You can run all 4 in parallel by passing as below,
/path/to/login.feature:10 /path/to/login.feature:20 /path/to/login.feature:25 path/to/signup.feature:18
Run Features or Scenarios in Parallel and generate HTML Reports with cucumber-html-reporter
Cucumber-Parallel is also integrated with HTML reporting Grunt Cucumber module grunt-cucumberjs
Sample HTML Reports: