Skip to content

ktryniszewski-mdsol/codeceptjs-cucumber-json-reporter

Repository files navigation

codeceptjs-cucumber-json-reporter

Description

A CodeceptJS plugin to generate a cucumber json output file that can be consumed by cucumber-html-reporter or similar packages


Requirements

  • CodeceptJS v3 or higher (tested with 3.0.5)

Installation

npm i codeceptjs-cucumber-json-reporter

Configuration

  • Add plugin to your codecept.conf.js
...
plugins: {
  cucumberJsonReporter: {
    require: 'codeceptjs-cucumber-json-reporter',
    enabled: true,               // if false, pass --plugins cucumberJsonReporter
    attachScreenshots: true,     // true by default
    attachComments: true,        // true by default
    outputFile: 'file.json',     // cucumber_output.json by default
    uniqueFileNames: false,      // if true outputFile is ignored in favor of unique file names in the format of `cucumber_output_<UUID>.json`.  Useful for parallel test execution
    includeExampleValues: false  // if true incorporate actual values from Examples table along with variable placeholder when writing steps to the report
    timeMultiplier: 1000000,     // Used when calculating duration of individual BDD steps.  Defaults to nanoseconds
  },
}
...

Usage

When the plugin is installed and configured, run it as you would normally run any other CodeceptJS plugin:

npx codeceptjs run --plugins cucumberJsonReporter

The plugin parses the BDD feature file before the start of each feature and generates the report structure. Once the test starts, it uses event listeners to add runtime data such as step status (pass/fail), screenshot embeddings, comment embeddings, and errors.

  • Attach screenshots to your report by using I.saveScreenshot method in your steps
  • Attach comments to your report by using I.say method in your steps

cucumber_output.json generated in your output folder on run completion.

Some additional logging added when running --verbose to debug potential issues


Html Report

Use cucumber-html-reporter or other similar html reporters to generate your pretty html report passing the cucumber_output.json file as your source file.


Limitations

  • CodeceptJS treats BDD steps as metasteps. Therefore if your step definition does not contain any helper methods it only fires bddStep events which are limited in what information we can extract.

Contributors

Thanks to those who add features/fix bugs

About

CodeceptJS plugin to generate a cucumberjs json output

Resources

License

Stars

Watchers

Forks

Packages

No packages published