包详细信息

codeceptjs-cucumber-json-reporter

ktryniszewski-mdsol8.7kISC1.0.14

CodeceptJS plugin to generate a cucumberjs json output

codeceptjs, cucumber, reporter

自述文件

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

更新日志

1.0.14

  • Accidently broke I.saveScreenshot calls saving to report, with the metaStep addition in 1.0.13. This fix allows both metaStep screenshot calls and the native codecept I.saveScreenshot to work with the report.

1.0.13 (deprecated)

  • Update after step hook to check metaStep for saveScreenshot call. PR #11

1.0.12

  • Fix for background usage in codecept v3.4.1 PR #10

1.0.11

  • More fixes for Codeceptjs >= 3.4.0

1.0.10

  • Fix reporter to work with Codeceptjs 3.4.0 Cucumber update

1.0.9

  • Fix Scenario Outline containing header cell string PR #9

1.0.8

  • Capture descriptions written at the Scenario / Scenario Outline Level PR #6

1.0.7

  • Fix to address multiple example tables in scenario outlines PR #5

1.0.6

  • Addition of step timing/duration added PR #4

1.0.5

  • Enhancing output to include actual example variable values PR #3

1.0.4

  • Addition of screenshotOnFail functionality (PR made to codeceptjs repo to in relation to this change) PR #2888

1.0.3

  • Addition of uniqueFileName (for parallel runs)
  • Removal of base64 dependency

1.0.2

  • Fix feature parsing when background isn't present

1.0.1

  • Remove unnecessary files from npm package

1.0.0

  • Initial release