{"id":14969374,"url":"https://github.com/wasiqb/multiple-cucumber-html-reporter","last_synced_at":"2026-02-12T08:16:35.898Z","repository":{"id":37734211,"uuid":"91936581","full_name":"WasiqB/multiple-cucumber-html-reporter","owner":"WasiqB","description":"Generate beautiful Cucumber HTML reports","archived":false,"fork":false,"pushed_at":"2025-04-28T11:44:05.000Z","size":13148,"stargazers_count":262,"open_issues_count":52,"forks_count":122,"subscribers_count":13,"default_branch":"main","last_synced_at":"2025-05-07T16:47:50.481Z","etag":null,"topics":["cucumber-js","javascript","reporter","reporting"],"latest_commit_sha":null,"homepage":"https://github.com/WasiqB/multiple-cucumber-html-reporter/blob/main/README.md","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WasiqB.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"docs/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"WasiqB"}},"created_at":"2017-05-21T06:03:34.000Z","updated_at":"2025-04-02T10:19:37.000Z","dependencies_parsed_at":"2023-09-26T17:26:26.719Z","dependency_job_id":"3557e09b-b549-4894-b01d-a2f519d4cd99","html_url":"https://github.com/WasiqB/multiple-cucumber-html-reporter","commit_stats":{"total_commits":362,"total_committers":48,"mean_commits":7.541666666666667,"dds":0.7154696132596685,"last_synced_commit":"e13bbd0cc42d88df6b094e9b09c2d65d2778548b"},"previous_names":["wswebcreation/multiple-cucumber-html-reporter"],"tags_count":80,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WasiqB%2Fmultiple-cucumber-html-reporter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WasiqB%2Fmultiple-cucumber-html-reporter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WasiqB%2Fmultiple-cucumber-html-reporter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WasiqB%2Fmultiple-cucumber-html-reporter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WasiqB","download_url":"https://codeload.github.com/WasiqB/multiple-cucumber-html-reporter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254149953,"owners_count":22022851,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cucumber-js","javascript","reporter","reporting"],"created_at":"2024-09-24T13:41:46.069Z","updated_at":"2026-02-12T08:16:35.892Z","avatar_url":"https://github.com/WasiqB.png","language":"JavaScript","funding_links":["https://github.com/sponsors/WasiqB"],"categories":[],"sub_categories":[],"readme":"# Multiple Cucumber HTML Reporter\n\n[![Discord](https://img.shields.io/discord/1057960728692260975?label=Chat%20on%20Discord\u0026logo=Discord\u0026style=for-the-badge)](https://discord.gg/d6rfHkSDjc)\n[![GitHub Workflow Status (with branch)](https://img.shields.io/github/actions/workflow/status/WasiqB/multiple-cucumber-html-reporter/test.yml?label=Test%20Workflows\u0026logo=GitHub\u0026style=for-the-badge)](https://github.com/WasiqB/multiple-cucumber-html-reporter/actions)\n[![GitHub](https://img.shields.io/github/license/WasiqB/multiple-cucumber-html-reporter?logo=open%20source%20initiative\u0026style=for-the-badge)](http://opensource.org/licenses/MIT)\n[![npm](https://img.shields.io/npm/dm/multiple-cucumber-html-reporter?label=NPM%20Downloads\u0026logo=NPM\u0026style=for-the-badge)](https://nodei.co/npm/multiple-cucumber-html-reporter/)\n\nMultiple 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:\n\n- a quick overview of all tested features and scenarios\n- a features overview that can hold multiple runs of the same feature / runs of the same feature on different browsers / devices\n- a features overview that can be searched / filtered / sorted\n- a feature(s) overview with metadata of the used browser(s) / devices\n\n## Important\n\n\u003e **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 [`displayDuration`](./README.MD#displayDuration) AND [`durationInMS = true`](./README.MD#durationinms)**\n\n![Snapshot - Features overview](./docs/images/browsers-features-overview.jpg \"Snapshot - Browsers features overview\")\n\nor with dark mode enabled:\n![image](https://user-images.githubusercontent.com/10329968/193400025-37dcbc0a-f5b8-4dea-b40e-51330c43aebf.png)\n![image](https://user-images.githubusercontent.com/10329968/193400032-1142963c-f216-416c-bf42-95a26351a824.png)\n\nA sample can be found [here](https://wasiqb.github.io/multiple-cucumber-html-reporter/browsers/index.html)\n\nBut 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](./README.MD#custommetadata).\nThis nice feature has been created by [LennDG](https://github.com/LennDG)\n\n![Snapshot - Features overview](./docs/images/custom-metadata-features-overview.jpg \"Snapshot - Custom metadata features overview\")\n\nA sample can be found [here](https://wasiqb.github.io/multiple-cucumber-html-reporter/custom-metadata/index.html)\n\n## Install\n\nInstall this module locally with the following command:\n\n```bash\nnpm install multiple-cucumber-html-reporter\n```\n\nSave to dependencies or dev-dependencies:\n\n```bash\nnpm install multiple-cucumber-html-reporter --save\nnpm install multiple-cucumber-html-reporter --save-dev\n```\n\n## Compatibility\n\nMultiple Cucumber HTML Reporter **now works with CucumberJS 1, 2, 3 and 4**.\n\n## Usage\n\n\u003e If you are using Protractor I would advise you to use [protractor-multiple-cucumber-html-reporter-plugin](https://github.com/WasiqB/protractor-multiple-cucumber-html-reporter-plugin).\n\u003e If you are using [webdriver.io](http://webdriver.io/) please check [WEBDRIVER.IO.MD](./docs/WEBDRIVER.IO.MD) for usage.\n\u003e It provides `multiple-cucumber-html-reporter` and some nice integration features that will make using Protractor + CucumberJS 1/2/3 nicely integrate with only a few lines of code.\n\n### cucumber-js 2.x and lower\n\nMultiple 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 `AfterFeatures`-hook.\n\n```javascript\nconst report = require(\"multiple-cucumber-html-reporter\");\n\nreport.generate({\n  jsonDir: \"./path-to-your-json-output/\",\n  reportPath: \"./path-where-the-report-needs-to-be/\",\n  metadata: {\n    browser: {\n      name: \"chrome\",\n      version: \"60\",\n    },\n    device: \"Local test machine\",\n    platform: {\n      name: \"ubuntu\",\n      version: \"16.04\",\n    },\n  },\n  customData: {\n    title: \"Run info\",\n    data: [\n      { label: \"Project\", value: \"Custom project\" },\n      { label: \"Release\", value: \"1.2.3\" },\n      { label: \"Cycle\", value: \"B11221.34321\" },\n      { label: \"Execution Start Time\", value: \"Nov 19th 2017, 02:31 PM EST\" },\n      { label: \"Execution End Time\", value: \"Nov 19th 2017, 02:56 PM EST\" },\n    ],\n  },\n});\n```\n\n### cucumber-js 3.x\n\nSince cucumber-js 3.x the `AfterFeatures` 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.\n\n\u003e IMPORTANT:\n\u003e 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.\n\u003e 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 `(new Date).getTime();`. This will result in something like this `name_of_feature.chrome.1495298685509.json`\n\n## Options\n\n### `jsonDir`\n\n- **Type:** `String`\n- **Mandatory:** Yes\n\nThe directory that will hold all the generated JSON files, relative from where the script is started.\n\n**N.B.:** If you use a npm script from the command line, like for example `npm run generate-report` the `jsonDir` will be relative from the path where the script is executed. Executing it from the root of your project will also search for the `jsonDir` from the root of you project.\n\n### `reportPath`\n\n- **Type:** `String`\n- **Mandatory:** Yes\n\nThe directory in which the report needs to be saved, relative from where the script is started.\n\n**N.B.:** If you use a npm script from the command line, like for example `npm run generate-report` the `reportPath` 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 `reportPath` in the root of you project.\n\n### `staticFilePath`\n\n- **Type:** `boolean`\n- **Default:** `false`\n- **Mandatory:** No\n\nIf 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.\n\n### `openReportInBrowser`\n\n- **Type:** `boolean`\n- **Default:** `false`\n- **Mandatory:** No\n\nIf true the report will automatically be opened in the default browser of the operating system.\n\n### `saveCollectedJSON`\n\n- **Type:** `boolean`\n- **Default:** `false`\n- **Mandatory:** No\n\nThis module will first merge all the JSON-files to 1 file and then enrich it with data that is used for the report. If `saveCollectedJSON :true` the merged JSON **AND** the enriched JSON will be saved in the `reportPath`. They will be saved as:\n\n- `merged-output.json`\n- `enriched-output.json`\n\n### `disableLog`\n\n- **Type:** `boolean`\n- **Default:** `false`\n- **Mandatory:** No\n\nThis will disable the log so will **NOT** see this.\n\n```shell\n=====================================================================================\n    Multiple Cucumber HTML report generated in:\n\n    /Users/WasiqB/multiple-cucumber-html-reporter/.tmp/index.html\n========================================================================\n```\n\n### `pageTitle`\n\n- **Type:** `string`\n- **Mandatory:** No\n- **Default:** Multiple Cucumber HTML Reporter\n\nYou can change the report title in the HTML head Tag\n\n### `reportName`\n\n- **Type:** `string`\n- **Mandatory:** No\n\nYou can change the report name to a name you want\n\n### `pageFooter`\n\n- **Type:** `string`\n- **Mandatory:** No\n\nYou can customise Page Footer if required. You just need to provide a html string like `\u003cdiv\u003e\u003cp\u003eA custom footer in html\u003c/p\u003e\u003c/div\u003e`\n\n### `plainDescription`\n\n- **Type:** `boolean`\n- **Default:** `false`\n- **Mandatory:** No\n\nThe feature description is assumed to be a simple string and the library formats it accordingly, by copying it inside a\nparagraph tag. Since the description can be any free text, it can also be as complex as a full `div`, e.g.:\n\n```html\n\u003cdiv\u003e\n  \u003cp\u003e\n    \u003cstrong\u003eTest description \u003c/strong\u003e : The test implements comparisons using\n    all our datatypes\n  \u003c/p\u003e\n  \u003cp\u003e\u003cstrong\u003eExpected result \u003c/strong\u003e : Device does not reset\u003c/p\u003e\n  \u003cp\u003e\u003cstrong\u003eFeature type \u003c/strong\u003e : Robustness\u003c/p\u003e\n  \u003cp\u003e\u003cstrong\u003eComments \u003c/strong\u003e : Test covers comparison operators\u003c/p\u003e\n\u003c/div\u003e\n```\n\nIf the description already include formatting tags you can include it _as is_ by setting `plainDescription` to `true`.\n\n### `displayDuration`\n\n- **Type:** `boolean`\n- **Default:** `false`\n- **Mandatory:** No\n\nIf set to `true` the duration of steps, scenarios and features is displayed on the Features overview and single feature page in an easily readable format.\nThis 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 `durationInMS: true`, see below\n\n\u003e **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**\n\n### `durationInMS`\n\n- **Type:** `boolean`\n- **Default:** `false`\n- **Mandatory:** No\n\nIf set to `true` 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**.\nThis parameter relies on `displayDuration: true`\n\n### `durationAggregation`\n\n- **Type:** `string`\n- **Default:** `sum`\n- **Mandatory:** No\n- **Possible values:** `sum | wallClock`\n\nControls how feature duration is calculated when `displayDuration: true`.\n\n- `sum`: sum all scenario durations in a feature (default)\n- `wallClock`: use elapsed wall-clock time (`latest scenario end - earliest scenario start`)\n\nFor `wallClock`, each timed scenario must provide `start_timestamp`; otherwise the reporter safely falls back to summed duration for that feature.\n\n### `hideMetadata`\n\n- **Type:** `boolean`\n- **Default:** `false`\n- **Mandatory:** No\n\nIf set to `true` metadata Devicetype, Device, OS, App, Browser are not being displayed in the Features overview.\n\n### `displayReportTime`\n\n- **Type:** `boolean`\n- **Default:** `false`\n- **Mandatory:** No\n\nIf set to `true` the date and time at which the JSON-files were generated, is displayed on the Features overview.\n\n### `useCDN`\n\n- **Type:** `boolean`\n- **Default:** `false`\n- **Mandatory:** No\n\nIf you prefer, you can use CDN for assets.\n\n### `customStyle`\n\n- **Type:** `path`\n- **Mandatory:** No\n\nIf you need to add some custom style to your report. Add it like this `customStyle: 'your-path-where/custom.css'`.\nPlease note that the doughnut charts uses the same colors as used by the status icons, i.e. the `.*-color` classes.\nRefer to the `test` directory and the `embedded-array` test report for a complete color customization example.\n\n### `overrideStyle`\n\n- **Type:** `path`\n- **Mandatory:** No\n\nIf you need to replace completely the default style for your report. Add it like this `overrideStyle: 'your-path-where/custom.css'`\nPlease refer to the `test` directory for an example.\n\n### `metadata`\n\n- **Type:** `JSON`\n- **Mandatory:** No\n\nPrint more data to your report, such as browser name + version, platform name + version and your environment. The values need to meet some predefined data, see [Metadata](./README.MD#metadata) for more info.\nData can be passed like below.\n\n\u003e **If you provide the metadata when instantiating `multi-cucumber-html-reporter` the metadata will be added to each feature. If you already have metadata in your JSON then the metadata in the JSON will take precedence**\n\n```js\nmetadata:{\n    browser: {\n        name: 'chrome',\n        version: '60'\n    },\n    device: 'Local test machine',\n    platform: {\n        name: 'ubuntu',\n        version: '16.04'\n    }\n}\n```\n\nSee [metadata](./README.MD#metadata-1) for more info\n\n### `customMetadata`\n\n- **Type:** `boolean`\n- **Default:** `false`\n- **Mandatory:** No\n\nIt is possible to provide custom metadata by setting this variable to `true`. Custom metadata will override the regular metadata completely and potentially have strange formatting bugs if too many (10+) variables are used.\nThe columns will be in the order defined by the order of the list.\n\nAdding the metadata is done in the same way as with normal metadata. The metadata is formed as a list of key-value pairs to preserve order:\n\n```js\nmetadata: [\n  { name: \"Environment v.\", value: \"12.3\" },\n  { name: \"Plugin v.\", value: \"32.1\" },\n  { name: \"Variable set\", value: \"Foo\" },\n];\n```\n\nOn the features overview page the custom metadata is shown like:\n![Snapshot - Features overview custom metadata](./docs/images/features-custom-metadata.jpg \"Snapshot - Features overview custom metadata\")\n\n\u003e IMPORTANT:\n\u003e This does not work correctly if features have different sets of metadata. Try to avoid this situation.\n\u003e Much like with metadata, if you provide the custom metadata when instantiating `multi-cucumber-html-reporter` the metadata will be added to each feature. If you already have metadata in your JSON then the metadata in the JSON will take precedence\\*\\*\n\n### `customData`\n\n- **Type:** `object`\n- **Mandatory:** No\n\nYou can add a custom data block to the report like this\n\n![Snapshot - Features overview custom data](./docs/images/custom-data.jpg \"Snapshot - Features overview custom data\")\n\n```js\ncustomData: {\n    title: 'Run info',\n    data: [\n        {label: 'Project', value: 'Custom project'},\n        {label: 'Release', value: '1.2.3'},\n        {label: 'Cycle', value: 'B11221.34321'},\n        {label: 'Execution Start Time', value: 'Nov 19th 2017, 02:31 PM EST'},\n        {label: 'Execution End Time', value: 'Nov 19th 2017, 02:56 PM EST'}\n    ]\n}\n```\n\n#### `customData.title`\n\n- **Type:** `string`\n- **Mandatory:** No\n- **Default:** `Custom data title`\n\nSelect a title for the custom data block. If not provided it will be defaulted.\n\n#### `customData.data`\n\n- **Type:** `array`\n- **Mandatory:** yes\n\nThe data you want to add. This needs to be in the format\n\n```js\ndata: [{ label: \"your label\", value: \"the represented value\" }];\n```\n\n## Metadata\n\nThe report can also show on which browser / device a feature has been executed. It is shown on the features overview in the table as well as on the feature overview in a container.\n\n### Adding metadata to the Cucumber JSON\n\nTo be able to see this you will need to add the following to the Cucumber JSON before you save it.\n\n```javascript\n// This represents the Cucumber JSON file that has be retrieved\nconst cucumberJSON;\n\nconst metadata = {\n  \"browser\": {\n    \"name\": \"chrome\",\n    \"version\": \"58\"\n  },\n  \"device\": \"string\",\n  \"platform\": {\n    \"name\": \"osx\",\n    \"version\": \"10.12\"\n  }\n}\n\n// Add it with for example\ncucumberJSON[0].metadata = metadata;\n\n// Now save the file to the disk\n```\n\n### `metadata.app.name`\n\n- **Type:** `string`\n\n**e.g.:** The name of the app.\n\n### `metadata.app.version`\n\n- **Type:** `string`\n\n**e.g.:** The version of the app.\n\n### `metadata.browser.name`\n\n- **Type:** `string`\n- **Possible values:** `internet explorer | edge | chrome | firefox | safari`\n\n\u003e If no correct value is provided the `?`-icon with the text `not known` is shown\n\n### `metadata.browser.version`\n\n- **Type:** `string`\n\n**e.g.:** The version of the browser, this can be added manual or retrieved during the execution of the tests to get the exact version number.\n\n\u003e If no correct value is provided the `?`-icon with the text `not known` is shown\n\n### `metadata.device`\n\n- **Type:** `string`\n\n**e.g.:** A name that represents the type of device. For example, if you run it on a virtual machine, you can place it here `Virtual Machine`, or the name of the mobile, like for example `iPhone 7 Plus`.\n\n\u003e If no correct value is provided the `?`-icon with the text `not known` is shown\n\n### `metadata.platform.name`\n\n- **Type:** `string`\n- **Possible values:** `windows | osx | linux | ubuntu | android | ios`\n\n\u003e If no correct value is provided the `?`-icon with the text `not known` is shown\n\n### `metadata.platform.version`\n\n- **Type:** `string`\n\n**e.g.:** The version of the platform\n\n\u003e If no correct value is provided the `?`-icon with the text `not known` is shown\n\n### Metadata example features overview\n\n![Snapshot - Features overview browser / device info](./docs/images/overview-metadata.jpg \"Snapshot - Features overview browser / device info\")\n\n### Metadata example scenario with and without known data\n\n![Snapshot - Scenario browser / device info](./docs/images/scenario-browser-metadata.jpg \"Snapshot - Scenario browser / device info\")\n![Snapshot - Scenario app / device info](./docs/images/scenario-app-metadata.jpg \"Snapshot - Scenario app / device info\")\n![Snapshot - Scenario browser / device info not known](./docs/images/scenario-no-metadata.jpg \"Snapshot - Scenario browser / device info not known\")\n\n## FAQ\n\n### Only 1 report is shown in the features overview table\n\nIt could be that the name of the Cucumber JSON file that has been saved is not unique (enough).\n\nMy advice is to use for example:\n\n- the name of the feature\n- the name of the browser / device it is running on\n- a unix timestamp with for example this `(new Date).getTime();`\n\nThis will result in something like this `name_of_feature.chrome.1495298685509.json`.\n\nThe advantage of this is that when you look at the folder where the Cucumber JSON-files are saved you can see:\n\n- the features that have been executed\n- on which browser\n- a timestamp to see which feature has been executed the last (if featurename and browser are the same)\n\n### Metadata shows `not known` or not the correct icons\n\nThere could be 2 causes:\n\n1. The metadata has not (correctly) been added to the Cucumber JSON.\n2. The `metadata.browser.name` or `metadata.platform.name` can't be mapped to the right icon\n\nTo fix this see the part about **Metadata** and check the **possible values**.\n\n### How to attach Screenshots to HTML report\n\nYou can attach screenshots at any time to a Cucumber JSON file. Just create a Cucumber `scenario`-hook that will handle this. You can add them during running or when a `scenario` failed.\n\n\u003e Check the framework you are using to attach screenshots to the JSON file.\n\n### How to attach Plain Text to HTML report\n\nYou can attach plain-text / data at any time to a Cucumber JSON file to help debug / review the results. You can add them during running or when a `scenario` failed.\n\n\u003e Check the framework you are using to attach plain text to the JSON file. Please make sure to convert binary/non-readable data to a suitable textual representation, e.g. via Base64 encoding.\n\n### How to attach pretty JSON to HTML report\n\nYou can attach JSON at any time to a Cucumber JSON file. You can add them during running or when a `scenario` failed.\n\n\u003e Check the framework you are using to attach JSON data to the JSON file.\n\n## Changelog and Releases\n\nThe Changelog and releases can be found [here](https://github.com/WasiqB/multiple-cucumber-html-reporter/releases)\n\n## Contributing\n\nHow to contribute can be found [here](./docs/CONTRIBUTING.md)\n\n## Credits\n\nIn the search for a reporting tools for Cucumber I found a few tools that helped me a lot:\n\n- [cucumber-html-repository](https://github.com/gkushang/cucumber-html-reporter)\n- [cucumber-html-report](https://github.com/leinonen/cucumber-html-report)\n- [cucumber-protractor-report](https://github.com/JesterXL/cucumber-protractor-report)\n- [grunt-protractor-cucumber-html-report](https://github.com/robhil/grunt-protractor-cucumber-html-report)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwasiqb%2Fmultiple-cucumber-html-reporter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwasiqb%2Fmultiple-cucumber-html-reporter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwasiqb%2Fmultiple-cucumber-html-reporter/lists"}