back to home

WasiqB / multiple-cucumber-html-reporter

Generate beautiful Cucumber HTML reports

271 stars
124 forks
46 issues
Go TemplateTypeScriptCSS

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing WasiqB/multiple-cucumber-html-reporter in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/WasiqB/multiple-cucumber-html-reporter)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

Multiple Cucumber HTML Reporter Multiple Cucumber HTML Reporter is a reporting module for Cucumber to parse the JSON output to a beautiful report. The difference between all the other reporting modules on the market is that this module has: • a quick overview of all tested features and scenarios • a features overview that can hold multiple runs of the same feature / runs of the same feature on different browsers / devices • a features overview that can be searched / filtered / sorted • a feature(s) overview with metadata of the used browser(s) / devices Important > **The default time notation in Cucumber is in nanoseconds. When you use a version of Cucumber that uses milliseconds (like CucumberJS 2 and 3) and you want to show the duration you should use AND ** or with dark mode enabled: A sample can be found here But you can also create a beautiful overview when you don't want to use CucumberJS with browser(meta)data but with custom metadata, see customMetadata. This nice feature has been created by LennDG A sample can be found here Install Install this module locally with the following command: Save to dependencies or dev-dependencies: Compatibility Multiple Cucumber HTML Reporter **now works with CucumberJS 1, 2, 3 and 4**. Usage > If you are using Protractor I would advise you to use protractor-multiple-cucumber-html-reporter-plugin. > If you are using webdriver.io please check WEBDRIVER.IO.MD for usage. > It provides and some nice integration features that will make using Protractor + CucumberJS 1/2/3 nicely integrate with only a few lines of code. cucumber-js 2.x and lower Multiple Cucumber HTML Reporter transforms the Cucumber JSON output to a beautiful report. In order to let this happen add the piece of code that is placed below to CucumberJS -hook. cucumber-js 3.x Since cucumber-js 3.x the hook is not supported anymore. To use Multiple Cucumber HTML Reporter it must be run in a separate node executable after the cucumber-js process finishes. > IMPORTANT: > Make sure that, when you generate the JSON files with Cucumber, each file will have a **UNIQUE** name. If you don't provide a unique name Cucumber will **override** the JSON files. > Advice is to use for example the name of the feature, the name of the browser / device it is running on AND a unix timestamp with for example this . This will result in something like this Options • **Type:** • **Mandatory:** Yes The directory that will hold all the generated JSON files, relative from where the script is started. **N.B.:** If you use a npm script from the command line, like for example the will be relative from the path where the script is executed. Executing it from the root of your project will also search for the from the root of you project. • **Type:** • **Mandatory:** Yes The directory in which the report needs to be saved, relative from where the script is started. **N.B.:** If you use a npm script from the command line, like for example the will be relative from the path where the script is executed. Executing it from the root of your project will also save the report in the in the root of you project. • **Type:** • **Default:** • **Mandatory:** No If true each feature will get a static filename for the html. Use this feature only if you are not running multiple instances of the same tests. • **Type:** • **Default:** • **Mandatory:** No If true the report will automatically be opened in the default browser of the operating system. • **Type:** • **Default:** • **Mandatory:** No This module will first merge all the JSON-files to 1 file and then enrich it with data that is used for the report. If the merged JSON **AND** the enriched JSON will be saved in the . They will be saved as: • • • **Type:** • **Default:** • **Mandatory:** No This will disable the log so will **NOT** see this. • **Type:** • **Mandatory:** No • **Default:** Multiple Cucumber HTML Reporter You can change the report title in the HTML head Tag • **Type:** • **Mandatory:** No You can change the report name to a name you want • **Type:** • **Mandatory:** No You can customise Page Footer if required. You just need to provide a html string like • **Type:** • **Default:** • **Mandatory:** No The feature description is assumed to be a simple string and the library formats it accordingly, by copying it inside a paragraph tag. Since the description can be any free text, it can also be as complex as a full , e.g.: If the description already include formatting tags you can include it _as is_ by setting to . • **Type:** • **Default:** • **Mandatory:** No If set to the duration of steps, scenarios and features is displayed on the Features overview and single feature page in an easily readable format. This expects the durations in the report to be in **nanoseconds**, which might result in incorrect durations when using a version of Cucumber(JS 2 and 3) that does not report in nanoseconds but in milliseconds. This can be changed to milliseconds by adding the parameter , see below > **NOTE: Only the duration of a feature can be shown in the features overview. A total duration over all features CAN NOT be given because the module doesn't know if all features have been run in parallel** • **Type:** • **Default:** • **Mandatory:** No If set to the duration of steps will be expected to be in **milliseconds**, which might result in incorrect durations when using a version of Cucumber(JS 1 or 4) that does report in **nanoseconds**. This parameter relies on • **Type:** • **Default:** • **Mandatory:** No • **Possible values:** Controls how feature duration is calculated when . • : sum all scenario durations in a feature (default) • : use elapsed wall-clock time ( ) For , each timed scenario must provide ; otherwise the reporter safely falls back to summed duration for that feature. • **Type:** • **Default:** • **Mandatory:** No If set to metadata Devicetype, Device, OS, App, Browser are not being displayed in the Features overview. • **Type…