Generate Cucumber HTML reports with pie charts
Available HTML themes:
['bootstrap', 'foundation', 'simple']
npm install cucumber-html-reporter --save-dev
Provide Cucumber JSON report file created from your framework and this module will create pretty HTML reports. Choose your best suitable HTML theme and dashboard on your CI with available HTML reporter plugins.
Example of bootstrap
theme:
var reporter = require('cucumber-html-reporter');
var options = {
theme: 'bootstrap',
jsonFile: 'test/report/cucumber_report.json',
output: 'test/report/cucumber_report.html',
reportSuiteAsScenarios: true,
launchReport: true
};
reporter.generate(options);
//to generate consodilated report from multi-cucumber JSON files, please use `jsonDir` option instead of `jsonFile`. More info is available in `options` section below.
Please look at the
options
section below for more options
Plugin the above code to the cucumber's
AfterFeatures
hook as shown in test/features/step_definitions/hooks and pick the theme you are interested in.
This module converts Cucumber's JSON format to HTML reports. In order to generate JSON formats, run the Cucumber to create the JSON format and pass the file name to the formatter as shown below,
$ cucumberjs test/features/ -f json:test/report/cucumber_report.json
Multiple formatter are also supported,
$ cucumberjs test/features/ -f pretty -f json:test/report/cucumber_report.json
Are you using cucumber with other frameworks or running cucumber-parallel? Pass relative path of JSON file to the
options
as shown here
Available: ['bootstrap', 'foundation', 'simple']
Type: String
Select the Theme for HTML report.
Type: String
Provide path of the Cucumber JSON format file
Type: String
If you have more than one cucumber JSON files, provide the path of JSON directory. This module will create consolidated report of all Cucumber JSON files.
e.g. jsonDir: 'test/reports'
//where reports directory contains valid *.json
files
N.B.: jsonFile
takes precedence over jsonDir
. We recommend to use either jsonFile
or jsonDir
option.
Type: String
Provide HTML output file path and name
Type: Boolean
Supported in the Bootstrap theme.
true
: Reports total number of passed/failed scenarios as HEADER.
false
: Reports total number of passed/failed features as HEADER.
Type: Boolean
Automatically launch HTML report at the end of test suite
true
: Launch HTML report in the default browser
false
: Do not launch HTML report at the end of test suite
Type: Boolean
Report any bad json files found during merging json files from directory option.
true
: ignore any bad json files found and continue with remaining files to merge.
false
: Default option. Fail report generation if any bad files found during merge.
Capture and Attach screenshots to the Cucumber Scenario and HTML report will render the screenshot image
driver.takeScreenshot().then(function (buffer) {
return scenario.attach(new Buffer(buffer, 'base64'), 'image/png');
}
Attach plain-texts/data to HTML report to help debug/review the results
scenario.attach('test data goes here');
Attach JSON to HTML report
scenario.attach(JSON.stringity(myJsonObject, undefined, 4));
Credit to the developers of grunt-cucumberjs for developing pretty HTML reporting. HTML reporting is extracted from the grunt task. Thanks to all the contributors for making HTML Reporting available to the wider audiences of cucumber-js community.