Socket
Socket
Sign inDemoInstall

wdio-json-cucumber-reporter

Package Overview
Dependencies
5
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    wdio-json-cucumber-reporter

Generates a JSON report for cucumber via webdriver.io


Version published
Weekly downloads
34
Maintainers
1
Install size
2.54 MB
Created
Weekly downloads
 

Readme

Source

wdio-cucumber-json-reporter

Generates a JSON report for cucumber via webdriver.io

About this repo

This is a fork of the work previously done by AlexGalichenko

I have adapted and added missing properties to the JSON report. It's quite rough around the edges and could definitely do with a tidy up, along with some defensive coding and tests! It was thrown together quickly in order to get nice reporting working via multiple-cucumber-html-reporter

Usage

  1. To install, run yarn add wdio-json-cucumber-reporter or npm install wdio-json-cucumber-reporter
  2. Add json-cucumber to the list of reporters in wdio.conf.js (see below).
  3. Run your tests
  4. Added bonus: yarn add multiple-cucumber-html-reporter and adapt the example config below.
wdio.conf.js
{
  ...
  reporters: ['json-cucumber'],
  ...
  reporterOptions: {
    outputDir: 'some/output/dir',
    cucumberJsonReporter: {
      verbose: true, // true|false - set to true for verbose logging
      deviceName: 'Local test environment' // Meta data for multiple-cucumber-html-reporter
    }
  }
  ...
}

Integrating with multiple-cucumber-html-reporter

This repository was originally created so that I could integrate my work project with multiple-cucumber-html-reporter. Here's an example of how to get it working.

As long as the JSON reports are generated, you can then add something like the below to your wdio.conf.js onComplete hook. Make sure you set the paths correctly.

  ...
  onComplete: () => {
    if (existsSync('./some/output/dir/report.json')) {
      const htmlReporter = require('multiple-cucumber-html-reporter');
      
      htmlReporter.generate({
        pageTitle: `My report page title`,
        reportName: `Cucumber test report`,
        disableLog: true,
        jsonDir: './some/output/dir/',
        reportPath: './some/output/dir/'
      });
    }
  },
  ...

Bug reporting

Feel free to raise a pull request, or throw me a ticket via the issues section.

Known issues / missing features

  • Add support for screenshots via cucumber attachments
  • Add browser version to feature metadata, if obtainable
  • Add metadata for test start time, end time and total duration
  • Add metadata for feature count, scenario/scenario outline counts and step counts
  • Add metadata for failing test count
  • Save report file names based on browser name and timestamp
  • Retrieve arguments supplied to each step

Keywords

FAQs

Last updated on 21 Jan 2019

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc