3.2.0 • Published 6 months ago

allure-cucumberjs v3.2.0

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

6 months ago

3.1.0

7 months ago

3.0.9

7 months ago

3.0.8

7 months ago

3.0.7

8 months ago

3.0.6

10 months ago

3.0.4

11 months ago

3.0.3

11 months ago

3.0.5

10 months ago

3.0.2

11 months ago

3.0.1

11 months ago

3.0.0

11 months ago

3.0.0-beta.11

12 months ago

3.0.0-beta.12

11 months ago

3.0.0-beta.10

1 year ago

3.0.0-beta.9

1 year ago

3.0.0-beta.8

1 year ago

3.0.0-beta.5

1 year ago

3.0.0-beta.4

1 year ago

3.0.0-beta.7

1 year ago

3.0.0-beta.6

1 year 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

2 years ago

2.11.1

2 years ago

2.11.0

2 years 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

3 years ago

2.0.0-beta.21

3 years ago

2.0.0-beta.26

3 years ago

2.0.0-beta.25

3 years ago

2.0.0-beta.24

3 years ago

2.0.0-beta.23

3 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

4 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

5 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