CucumberJS JSON Reporter
wdio-cucumberjs-json-reporter is a 3rd party package, for more information please see GitHub | npm
A WDIO reporter that creates CucumberJS JSON files for WebdriverIO v8 and up.
What does it do
This reporter will generate a Cucumber JSON file for each feature that is being tested. The JSON file can be used with whatever report you want to use like for example multiple-cucumber-html-reporter.
It will also add metadata about the running instance to the feature file and last but not least, it will give you the opportunity to add attachments to the JSON output.
Installation
The easiest way is to keep wdio-cucumberjs-json-reporter as a devDependency in your package.json.
{
"devDependencies": {
"wdio-cucumberjs-json-reporter": "^5.0.0"
}
}
You can simple do it by:
npm install wdio-cucumberjs-json-reporter --save-dev
so it will automatically be added to your package.json
Instructions on how to install WebdriverIO can be found here.
Configuration
Configure the output directory and the language in your wdio.conf.js file:
export const config = {
// ...
reporters: [
// Like this with the default options, see the options below
'cucumberjs-json',
// OR like this if you want to set the folder and the language
[ 'cucumberjs-json', {
jsonFolder: '.tmp/new/',
language: 'en',
},
],
],
// ...
}
DON'T USE BOTH WAYS OF ADDING THE REPORTER, THIS IS JUST AN EXAMPLE!
Options
jsonFolder
- Type:
String - Mandatory: No
- Default:
.tmp/json/
The directory where the JSON files, generated by this report, will be stored, relative from where the script is started.
N.B.: If you use a npm script from the command line, like for example npm run test the jsonFolder will be relative from the path
where the script is executed. Executing it from the root of your project will also create the jsonFolder in the root of you project.
language
- Type:
String - Mandatory: No
- Default:
en
The language in which the Gherkin scenarios are written (defaults to English). The list of language codes and its keywords can be found here.
disableHooks
- Type:
boolean - Mandatory: No
- Default:
false
Hook details will not be part of generation if this property sets to true.
