3.2.0 • Published 4 months ago

allure-cucumberjs v3.2.0

Weekly downloads
4,571
License
Apache-2.0
Repository
github
Last release
4 months 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

3.2.0

4 months ago

3.1.0

4 months ago

3.0.9

5 months ago

3.0.8

5 months ago

3.0.7

6 months ago

3.0.6

7 months ago

3.0.4

8 months ago

3.0.3

9 months ago

3.0.5

8 months ago

3.0.2

9 months ago

3.0.1

9 months ago

3.0.0

9 months ago

3.0.0-beta.11

10 months ago

3.0.0-beta.12

9 months ago

3.0.0-beta.10

10 months ago

3.0.0-beta.9

10 months ago

3.0.0-beta.8

10 months ago

3.0.0-beta.5

12 months ago

3.0.0-beta.4

12 months ago

3.0.0-beta.7

11 months ago

3.0.0-beta.6

11 months ago

3.0.0-beta.1

1 year ago

3.0.0-beta.3

1 year ago

3.0.0-beta.2

1 year ago

2.15.1

1 year ago

2.15.0

1 year ago

2.14.1

1 year ago

2.14.0

1 year ago

2.13.0

1 year ago

2.12.2

1 year ago

2.11.3

1 year ago

2.12.1

1 year ago

2.12.0

1 year ago

2.11.1

1 year ago

2.11.0

1 year ago

2.10.0

2 years ago

2.5.0

2 years ago

2.7.0

2 years ago

2.6.0

2 years ago

2.9.0

2 years ago

2.8.1

2 years ago

2.8.0

2 years ago

2.9.2

2 years ago

2.9.1

2 years ago

2.3.0

2 years ago

2.4.0

2 years ago

2.2.1

2 years ago

2.2.0

2 years ago

2.1.0

2 years ago

2.0.0-beta.22

2 years ago

2.0.0-beta.21

2 years ago

2.0.0-beta.26

2 years ago

2.0.0-beta.25

2 years ago

2.0.0-beta.24

2 years ago

2.0.0-beta.23

2 years ago

2.0.0

2 years ago

2.0.0-beta.20

3 years ago

2.0.0-beta.19

3 years ago

2.0.0-beta.18

3 years ago

2.0.0-beta.17

3 years ago

2.0.0-beta.16

3 years ago

2.0.0-beta.15

3 years ago

2.0.0-beta.14

4 years ago

2.0.0-beta.13

4 years ago

2.0.0-beta.12

4 years ago

2.0.0-beta.11

4 years ago

2.0.0-beta.9

4 years ago

2.0.0-beta.8

5 years ago

2.0.0-beta.7

5 years ago

2.0.0-beta.6

6 years ago

2.0.0-beta.5

6 years ago

2.0.0-beta.4

6 years ago

2.0.0-beta.3

6 years ago

2.0.0-beta.2

6 years ago