2.15.1 • Published 23 days ago

allure-cucumberjs v2.15.1

Weekly downloads
4,571
License
Apache-2.0
Repository
github
Last release
23 days ago

allure-cucumberjs

Allure integration for Cucumber.JS framework

Compatible with Cucumber.JS 3+ and Allure 2+

How to use

Create Reporter file:

export default class Reporter extends CucumberJSAllureFormatter {
  constructor(options) {
    super(
      options,
      new AllureRuntime({ resultsDir: "./allure-results" }),
      {
        labels: {
          epic: [/@feature:(.*)/],
          severity: [/@severity:(.*)/]
        },
        links: {
          issue: {
            pattern: [/@issue=(.*)/],
            urlTemplate: "http://localhost:8080/issue/%s"
          },
          tms: {
            pattern: [/@tms=(.*)/],
            urlTemplate: "http://localhost:8080/tms/%s"
          }
        }
      }
    );
  }
}

This class MUST:

  • Be a default export.
  • Extend CucumberJSAllureFormatter.
  • First super() argument is the first argument in the constructor.
  • Second super() argument is an AllureRuntime instance.
  • Third argument is a config object which allows:
    • Map tags to Allure labels.
    • Add links to external sites like JIRA, XRAY, etc. %s will be auto-replaced by the issue id. Example:
@issue=TEST-1
Scenario: Example for scenario issue link check
Then the issue link should be "http://localhost:8080/issue/TEST-1"

Then pass with reporter as a Cucumber formatter:

node cucumber.js --format ./path/to/Reporter.js

If you want to retain default formatter add some dummy file as output:

node cucumber.js --format ./path/to/Reporter.js:./dummy.txt

Reporter without classes

If you can not use classes (ES6 or TypeScript), here is an example of Reporter.js file written in plain JS:

const { CucumberJSAllureFormatter } = require("allure-cucumberjs");
const { AllureRuntime } = require("allure-cucumberjs");

function Reporter(options) {
  return new CucumberJSAllureFormatter(
    options,
    new AllureRuntime({ resultsDir: "./allure-results" }),
    {}
  );
}
Reporter.prototype = Object.create(CucumberJSAllureFormatter.prototype);
Reporter.prototype.constructor = Reporter;

exports.default = Reporter;

API

Instance of AllureInterface will be added to World prototype. You can use it for creating nested steps and adding info to the report.

Author

Ilya Korobitsyn mail@korobochka.org

Contributors

2.15.1

23 days ago

2.15.0

1 month ago

2.14.1

2 months ago

2.14.0

2 months ago

2.13.0

2 months ago

2.12.2

3 months ago

2.11.3

3 months ago

2.12.1

3 months ago

2.12.0

3 months ago

2.11.1

3 months ago

2.11.0

3 months ago

2.10.0

5 months ago

2.5.0

9 months ago

2.7.0

8 months ago

2.6.0

8 months ago

2.9.0

7 months ago

2.8.1

8 months ago

2.8.0

8 months ago

2.9.2

7 months ago

2.9.1

7 months ago

2.3.0

12 months ago

2.4.0

11 months ago

2.2.1

1 year ago

2.2.0

1 year ago

2.1.0

1 year ago

2.0.0-beta.22

1 year ago

2.0.0-beta.21

1 year ago

2.0.0-beta.26

1 year ago

2.0.0-beta.25

1 year ago

2.0.0-beta.24

1 year ago

2.0.0-beta.23

1 year ago

2.0.0

1 year ago

2.0.0-beta.20

1 year ago

2.0.0-beta.19

2 years ago

2.0.0-beta.18

2 years ago

2.0.0-beta.17

2 years ago

2.0.0-beta.16

2 years ago

2.0.0-beta.15

2 years ago

2.0.0-beta.14

3 years ago

2.0.0-beta.13

3 years ago

2.0.0-beta.12

3 years ago

2.0.0-beta.11

3 years ago

2.0.0-beta.9

3 years ago

2.0.0-beta.8

4 years ago

2.0.0-beta.7

4 years ago

2.0.0-beta.6

5 years ago

2.0.0-beta.5

5 years ago

2.0.0-beta.4

5 years ago

2.0.0-beta.3

5 years ago

2.0.0-beta.2

5 years ago