diff --git a/README.md b/README.md index 1c660b5d2..5b6cca66f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Allure Javascript Integrations -> This project aggregates Allure Javascript commons and reporters. +> Official Allure Framework integrations for JavaScript test runners and API tools. [Allure Report logo](https://allurereport.org "Allure Report") @@ -12,6 +12,75 @@ --- +## Overview + +This repository contains the shared `allure-js-commons` module together with ready-to-use integrations for the most popular JavaScript testing tools. Each package writes `allure-results` files that can be rendered by Allure Report. + +Allure adds a consistent reporting layer on top of your test runs: + +- rich steps with nested structure +- attachments such as screenshots, logs, traces, and API payloads +- metadata including owners, severity, tags, links, epics, stories, and test case IDs +- history-aware results, retries, flaky analysis, categories, and environment details +- a shared runtime API from `allure-js-commons` so teams can keep the same reporting model across frameworks + +## Basic installation + +Install the integration package for your test framework: + +```bash +npm install -D allure-playwright +``` + +Run your tests so the integration can produce `./allure-results`. + +To view the report, choose one of the supported report generators: + +- Allure Report 2 CLI: install it by following the [official installation guide](https://allurereport.org/docs/install/), then run `allure generate` and `allure open` +- Allure Report 3: install the official npm package with `npm install -D allure`, then run `npx allure generate` and `npx allure open` + +## Supported versions and platforms + +The packages in this repository are Node.js integrations and are intended to run anywhere the underlying framework supports Node.js, including Linux, macOS, and Windows. + +This repository is currently validated in CI on: + +- Node.js 20 and 22 +- Ubuntu and Windows runners + +Minimum supported framework versions by package: + +- `allure-codeceptjs`: `codeceptjs >= 2.3.6` +- `allure-cucumberjs`: `@cucumber/cucumber >= 10.8.0` +- `allure-cypress`: `cypress >= 12.17.4` +- `allure-jasmine`: `jasmine >= 2.7.0` +- `allure-jest`: `jest`, `jest-circus`, and matching Jest environments `>= 24.8.0` +- `allure-mocha`: `mocha >= 6.2.0` +- `allure-playwright`: `@playwright/test >= 1.53.0` +- `allure-vitest`: `vitest >= 1.3.0` +- `newman-reporter-allure`: `newman >= 3.5.0` +- `allure-js-commons`: shared runtime and reporter SDK used to build integrations + +## Generate a report + +### Allure Report 2 + +After your tests generate `./allure-results`, create the HTML report with the classic CLI: + +```bash +allure generate ./allure-results -o ./allure-report +allure open ./allure-report +``` + +### Allure Report 3 + +If you install the official `allure` npm package, you can generate and open the report with: + +```bash +npx allure generate ./allure-results +npx allure open ./allure-report +``` + ## Supported frameworks ### CucumberJS @@ -73,7 +142,7 @@ ### allure-js-commons -Interface for Allure 2 to be used from Javascript and TypeScript. +Runtime API and reporter SDK for JavaScript and TypeScript integrations. ![npm](https://img.shields.io/npm/dm/allure-js-commons.svg) ![npm](https://img.shields.io/npm/v/allure-js-commons.svg) diff --git a/packages/allure-codeceptjs/README.md b/packages/allure-codeceptjs/README.md index 167791421..dc786cda3 100644 --- a/packages/allure-codeceptjs/README.md +++ b/packages/allure-codeceptjs/README.md @@ -18,6 +18,12 @@ The docs for Allure CodeceptJS are available at [https://allurereport.org/docs/c Also, check out the examples at [github.com/allure-examples](https://github.com/orgs/allure-examples/repositories?q=visibility%3Apublic+archived%3Afalse+topic%3Aexample+topic%3Acodeceptjs). +## Features + +- writes standard `allure-results` files directly from CodeceptJS runs +- supports Allure labels, links, parameters, steps, and attachments through `allure-js-commons` +- works with Allure Report 2 and Allure Report 3 + ## Installation Install `allure-codeceptjs` using a package manager of your choice. For example: @@ -26,6 +32,17 @@ Install `allure-codeceptjs` using a package manager of your choice. For example: npm install -D allure-codeceptjs ``` +Install Allure Report separately when you want to render the generated `allure-results`: + +- follow the [Allure Report 2 installation guide](https://allurereport.org/docs/install/) to use the `allure` CLI +- or install Allure Report 3 with `npm install -D allure` to use `npx allure` + +## Supported versions and platforms + +- `codeceptjs >= 2.3.6` +- Linux, macOS, and Windows wherever CodeceptJS supports Node.js +- this repository is validated in CI on Node.js 20 and 22 + ## Usage Enable the `allure` plugin in [the CodeceptJS configuration file](https://codecept.io/configuration/): @@ -51,18 +68,18 @@ You may select another location, or further customize the plugin's behavior with ### View the report -> You need Allure Report to be installed on your machine to generate and open the report from the result files. See the [installation instructions](https://allurereport.org/docs/install/) on how to get it. - -Generate Allure Report after the tests are executed: +Use Allure Report 2: ```bash allure generate ./allure-results -o ./allure-report +allure open ./allure-report ``` -Open the generated report: +Or use Allure Report 3: ```bash -allure open ./allure-report +npx allure generate ./allure-results +npx allure open ./allure-report ``` ## Allure API diff --git a/packages/allure-cucumberjs/README.md b/packages/allure-cucumberjs/README.md index 537e9e5e9..6c0238baa 100644 --- a/packages/allure-cucumberjs/README.md +++ b/packages/allure-cucumberjs/README.md @@ -1,6 +1,6 @@ # allure-cucumberjs -> Allure integration for `cucumber-js` compatible with `@cucumber/cucumber@^8.x.x` and Allure 2+. +> Allure integration for `cucumber-js` with the shared Allure JavaScript runtime and reporter SDK. [Allure Report logo](https://allurereport.org "Allure Report") @@ -19,6 +19,12 @@ The docs for Allure Cucumber.js are available at Also, check out the examples at [github.com/allure-examples](https://github.com/orgs/allure-examples/repositories?q=visibility%3Apublic+archived%3Afalse+topic%3Aexample+topic%3Acucumberjs). +## Features + +- writes Allure results from Cucumber.js formatter output +- supports labels, links, parameters, steps, and attachments through `allure-js-commons` +- works with Allure Report 2 and Allure Report 3 + ## Installation Install `allure-cucumberjs` using a package manager of your choice. For example: @@ -29,6 +35,18 @@ npm install -D allure-cucumberjs > If you're a Yarn PnP user, please read [this](https://allurereport.org/docs/cucumberjs-configuration/#a-note-for-yarn-pnp-users). +Install Allure Report separately when you want to render the generated `allure-results`: + +- follow the [Allure Report 2 installation guide](https://allurereport.org/docs/install/) to use the `allure` CLI +- or install Allure Report 3 with `npm install -D allure` to use `npx allure` + +## Supported versions and platforms + +- `@cucumber/cucumber >= 10.8.0` +- `@cucumber/messages >= 24.1.0` +- Linux, macOS, and Windows wherever Cucumber.js supports Node.js +- this repository is validated in CI on Node.js 20 and 22 + ## Usage Enable the `allure-cucumberjs/reporter` formatter in [the Cucumber.js configuration file](https://github.com/cucumber/cucumber-js/blob/main/docs/configuration.md): @@ -54,18 +72,18 @@ You may select another location, or further customize the formatter's behavior w ### View the report -> You need Allure Report to be installed on your machine to generate and open the report from the result files. See the [installation instructions](https://allurereport.org/docs/install/) on how to get it. - -Generate Allure Report after the tests are executed: +Use Allure Report 2: ```bash allure generate ./allure-results -o ./allure-report +allure open ./allure-report ``` -Open the generated report: +Or use Allure Report 3: ```bash -allure open ./allure-report +npx allure generate ./allure-results +npx allure open ./allure-report ``` ## Allure API diff --git a/packages/allure-cypress/README.md b/packages/allure-cypress/README.md index 205e4fe88..862edb71b 100644 --- a/packages/allure-cypress/README.md +++ b/packages/allure-cypress/README.md @@ -16,6 +16,12 @@ The docs for Allure Cypress are available at [https://allurereport.org/docs/cypress/](https://allurereport.org/docs/cypress/). +## Features + +- writes Allure results from Cypress runs +- supports steps, attachments, labels, links, parameters, and metadata through `allure-js-commons` +- works with Allure Report 2 and Allure Report 3 + ## Installation Install `allure-cypress` using a package manager of your choice. For example: @@ -24,6 +30,17 @@ Install `allure-cypress` using a package manager of your choice. For example: npm install -D allure-cypress ``` +Install Allure Report separately when you want to render the generated `allure-results`: + +- follow the [Allure Report 2 installation guide](https://allurereport.org/docs/install/) to use the `allure` CLI +- or install Allure Report 3 with `npm install -D allure` to use `npx allure` + +## Supported versions and platforms + +- `cypress >= 12.17.4` +- Linux, macOS, and Windows wherever Cypress supports Node.js +- this repository is validated in CI on Node.js 20 and 22 + ## Usage Call `allureCypress` to initialize the plugin from the `setupNodeEvents` function in `cypress.config.js`: @@ -56,18 +73,18 @@ You may select another location, or further customize the plugin's behavior with ### View the report -> You need Allure Report to be installed on your machine to generate and open the report from the result files. See the [installation instructions](https://allurereport.org/docs/install/) on how to get it. - -Generate Allure Report: +Use Allure Report 2: ```bash allure generate ./allure-results -o ./allure-report +allure open ./allure-report ``` -Open Allure Report: +Or use Allure Report 3: ```bash -allure open ./allure-report +npx allure generate ./allure-results +npx allure open ./allure-report ``` ## Allure API diff --git a/packages/allure-jasmine/README.md b/packages/allure-jasmine/README.md index dc625fe2e..eb1ac039c 100644 --- a/packages/allure-jasmine/README.md +++ b/packages/allure-jasmine/README.md @@ -16,6 +16,12 @@ The docs for Allure Jasmine are available at [https://allurereport.org/docs/jasmine/](https://allurereport.org/docs/jasmine/). +## Features + +- writes Allure results from Jasmine reporter events +- supports runtime metadata, nested steps, parameters, and attachments through `allure-js-commons` +- works with Allure Report 2 and Allure Report 3 + ## Installation Install `allure-jasmine` using a package manager of your choice. For example: @@ -24,6 +30,17 @@ Install `allure-jasmine` using a package manager of your choice. For example: npm install -D allure-jasmine ``` +Install Allure Report separately when you want to render the generated `allure-results`: + +- follow the [Allure Report 2 installation guide](https://allurereport.org/docs/install/) to use the `allure` CLI +- or install Allure Report 3 with `npm install -D allure` to use `npx allure` + +## Supported versions and platforms + +- `jasmine >= 2.7.0` +- Linux, macOS, and Windows wherever Jasmine supports Node.js +- this repository is validated in CI on Node.js 20 and 22 + ## Usage Create a helper file (e.g., `helpers/setup.js` or `helpers/setup.ts`) and set up the Allure reporter in it: @@ -44,18 +61,18 @@ You may select another location, or further customize the reporter's behavior wi ### View the report -> You need Allure Report to be installed on your machine to generate and open the report from the result files. See the [installation instructions](https://allurereport.org/docs/install/) on how to get it. - -Generate Allure Report after the tests are executed: +Use Allure Report 2: ```bash allure generate ./allure-results -o ./allure-report +allure open ./allure-report ``` -Open the generated report: +Or use Allure Report 3: ```bash -allure open ./allure-report +npx allure generate ./allure-results +npx allure open ./allure-report ``` ## Allure API diff --git a/packages/allure-jest/README.md b/packages/allure-jest/README.md index a301d50eb..c9b76c661 100644 --- a/packages/allure-jest/README.md +++ b/packages/allure-jest/README.md @@ -22,6 +22,12 @@ The docs for Allure Jest are available at [https://allurereport.org/docs/jest/]( Also, check out the examples at [github.com/allure-examples](https://github.com/orgs/allure-examples/repositories?q=visibility%3Apublic+archived%3Afalse+topic%3Aexample+topic%3Ajest). +## Features + +- writes Allure results from the Jest Circus runtime +- supports labels, links, parameters, nested steps, and attachments through `allure-js-commons` +- works with Allure Report 2 and Allure Report 3 + ## Installation Install `allure-jest` using a package manager of your choice. For example: @@ -36,6 +42,19 @@ npm install -D allure-jest > ``` > Keep in mind, that `allure-js-commons` and `allure-jest` must have the same version. The same goes for all Jest packages (`jest`, `jest-circus`, `jest-environment-node`, etc). Use [`yarn info`](https://yarnpkg.com/cli/info) to check the versions. +Install Allure Report separately when you want to render the generated `allure-results`: + +- follow the [Allure Report 2 installation guide](https://allurereport.org/docs/install/) to use the `allure` CLI +- or install Allure Report 3 with `npm install -D allure` to use `npx allure` + +## Supported versions and platforms + +- `jest >= 24.8.0` +- `jest-circus >= 24.8.0` +- matching Jest CLI and environment packages `>= 24.8.0` +- Linux, macOS, and Windows wherever Jest supports Node.js +- this repository is validated in CI on Node.js 20 and 22 + ## Usage Set the [`testEnvironment`](https://jestjs.io/docs/configuration#testenvironment-string) Jest option according to your needs: @@ -59,18 +78,18 @@ You may select another location, or further customize the behavior of Allure Jes ### View the report -> You need Allure Report to be installed on your machine to generate and open the report from the result files. See the [installation instructions](https://allurereport.org/docs/install/) on how to get it. - -Generate Allure Report after the tests are executed: +Use Allure Report 2: ```bash allure generate ./allure-results -o ./allure-report +allure open ./allure-report ``` -Open the generated report: +Or use Allure Report 3: ```bash -allure open ./allure-report +npx allure generate ./allure-results +npx allure open ./allure-report ``` ## Allure API diff --git a/packages/allure-js-commons/README.md b/packages/allure-js-commons/README.md index e160ef7b6..cd7d96e16 100644 --- a/packages/allure-js-commons/README.md +++ b/packages/allure-js-commons/README.md @@ -12,15 +12,185 @@ --- -Interface for Allure to be used from Javascript and TypeScript. -There you can find primitives to create custom integrations for the javascript testing frameworks. +`allure-js-commons` is the shared runtime API and reporter SDK used by the packages in this repository. It gives you both: -## API Overview +- a high-level facade for test code, such as `allure.step()`, `allure.attachment()`, `allure.owner()`, and `allure.epic()` +- low-level building blocks for custom integrations, such as `ReporterRuntime`, writers, runtime message transport, and result model factories -### Labels environment variables +Use it when you want to: -Allure allows to use environment variables for setting test labels. -Using `ALLURE_LABEL_{{labelName}}={{labelValue}}` syntax you can set common labels for all of your tests. +- enrich tests with Allure metadata from JavaScript or TypeScript +- write your own test framework integration +- build a custom adapter that emits standard `allure-results` +- reuse the same reporting model across multiple runners or tools + +## Installation + +Install the package with your package manager of choice: + +```bash +npm install -D allure-js-commons +``` + +If you are building a custom integration, install your framework alongside it and add Allure Report separately when you want to render results: + +- follow the [Allure Report 2 installation guide](https://allurereport.org/docs/install/) to use the `allure` CLI +- or install Allure Report 3 with `npm install -D allure` to use `npx allure` + +## View the report + +If your integration writes `./allure-results`, you can render it with either report generator. + +Use Allure Report 2: + +```bash +allure generate ./allure-results -o ./allure-report +allure open ./allure-report +``` + +Or use Allure Report 3: + +```bash +npx allure generate ./allure-results +npx allure open ./allure-report +``` + +## Supported versions and platforms + +- works in Node.js environments on Linux, macOS, and Windows +- used by the official integrations in this repository, which are validated in CI on Node.js 20 and 22 +- intended for frameworks and tooling that can produce or consume Allure runtime messages and result files + +## Overview + +### High-level facade + +The package root exports the API used directly inside tests: + +- labels and links: `epic`, `feature`, `story`, `owner`, `severity`, `issue`, `tms`, `tag` +- descriptions and identifiers: `description`, `descriptionHtml`, `displayName`, `historyId`, `testCaseId` +- execution details: `parameter`, `step`, `logStep` +- attachments: `attachment`, `attachmentPath`, `globalAttachment`, `globalAttachmentPath` + +These helpers delegate to the active test runtime, which integrations register with `setGlobalTestRuntime()`. + +### Reporter SDK + +The `allure-js-commons/sdk` entry points expose the pieces used by official integrations: + +- `sdk/runtime`: runtime message transport and global runtime registration +- `sdk/reporter`: `ReporterRuntime`, writers, result factories, categories, environment info, and helper utilities +- `sdk`: shared types, runtime message definitions, serialization helpers, and metadata parsing helpers + +## Basic usage in tests + +```ts +import * as allure from "allure-js-commons"; + +await allure.epic("Authentication"); +await allure.feature("Password sign-in"); +await allure.owner("qa-team"); +await allure.parameter("browser", "chromium"); + +await allure.step("Submit valid credentials", async () => { + await allure.attachment("request", JSON.stringify({ login: "jane" }), { + contentType: "application/json", + }); +}); +``` + +## Creating your own integration + +The official adapters in this repository follow the same basic flow: + +1. Create a `ReporterRuntime` with a writer that persists `allure-results`. +2. Register a test runtime with `setGlobalTestRuntime()` so `allure-js-commons` calls inside tests can emit runtime messages. +3. Map your framework lifecycle events to `startTest`, `updateTest`, `stopTest`, `writeTest`, and optional scope or fixture methods. +4. Forward runtime messages from the active test into `ReporterRuntime.applyRuntimeMessages()`. + +Here is a minimal example: + +```ts +import { Stage, Status } from "allure-js-commons"; +import type { RuntimeMessage } from "allure-js-commons/sdk"; +import { ReporterRuntime, createDefaultWriter } from "allure-js-commons/sdk/reporter"; +import { MessageTestRuntime, setGlobalTestRuntime } from "allure-js-commons/sdk/runtime"; + +class MyFrameworkRuntime extends MessageTestRuntime { + constructor(private readonly forward: (message: RuntimeMessage) => void) { + super(); + } + + async sendMessage(message: RuntimeMessage) { + this.forward(message); + } +} + +const reporterRuntime = new ReporterRuntime({ + writer: createDefaultWriter({ resultsDir: "./allure-results" }), +}); + +let currentTestUuid: string | undefined; + +setGlobalTestRuntime( + new MyFrameworkRuntime((message) => { + if (currentTestUuid) { + reporterRuntime.applyRuntimeMessages(currentTestUuid, [message]); + } else { + reporterRuntime.applyGlobalRuntimeMessages([message]); + } + }), +); + +export const onTestStart = (name: string, fullName: string) => { + currentTestUuid = reporterRuntime.startTest({ + name, + fullName, + stage: Stage.RUNNING, + }); +}; + +export const onTestPass = () => { + if (!currentTestUuid) return; + reporterRuntime.updateTest(currentTestUuid, (result) => { + result.status = Status.PASSED; + result.stage = Stage.FINISHED; + }); + reporterRuntime.stopTest(currentTestUuid); + reporterRuntime.writeTest(currentTestUuid); + currentTestUuid = undefined; +}; + +export const onTestFail = (error: Error) => { + if (!currentTestUuid) return; + reporterRuntime.updateTest(currentTestUuid, (result) => { + result.status = Status.BROKEN; + result.stage = Stage.FINISHED; + result.statusDetails = { + message: error.message, + trace: error.stack, + }; + }); + reporterRuntime.stopTest(currentTestUuid); + reporterRuntime.writeTest(currentTestUuid); + currentTestUuid = undefined; +}; +``` + +This approach lets framework callbacks manage test lifecycle state while user code keeps using the regular `allure-js-commons` facade. + +## Useful building blocks + +- `ReporterRuntime`: creates and writes tests, fixtures, steps, attachments, categories, and environment info +- `createDefaultWriter()`: writes to `./allure-results` in normal runs and switches to a message writer in test mode +- `FileSystemWriter`, `InMemoryWriter`, `MessageWriter`, `MessageReader`: transport and persistence helpers +- `setGlobalTestRuntime()`: connects the facade API to the currently active framework runtime +- `MessageTestRuntime` and `MessageHolderTestRuntime`: ready-made runtime message implementations for adapters +- `createTestResult()`, `createStepResult()`, `createFixtureResult()`, `createTestResultContainer()`: factories for manual result construction + +## Labels from environment variables + +Allure allows you to apply labels to every test through environment variables. Use the `ALLURE_LABEL_=` format. #### Examples diff --git a/packages/allure-mocha/README.md b/packages/allure-mocha/README.md index 0b2eb0b56..2d0e3d16b 100644 --- a/packages/allure-mocha/README.md +++ b/packages/allure-mocha/README.md @@ -18,6 +18,12 @@ The docs for Allure Mocha are available at [https://allurereport.org/docs/mocha/ Also, check out the examples at [github.com/allure-examples](https://github.com/orgs/allure-examples/repositories?q=visibility%3Apublic+archived%3Afalse+topic%3Aexample+topic%3Amocha). +## Features + +- writes Allure results from the Mocha reporter lifecycle +- supports steps, attachments, metadata, retries, and runtime API calls through `allure-js-commons` +- works with Allure Report 2 and Allure Report 3 + ## Installation Install `allure-mocha` using a package manager of your choice. For example: @@ -26,6 +32,17 @@ Install `allure-mocha` using a package manager of your choice. For example: npm install -D allure-mocha ``` +Install Allure Report separately when you want to render the generated `allure-results`: + +- follow the [Allure Report 2 installation guide](https://allurereport.org/docs/install/) to use the `allure` CLI +- or install Allure Report 3 with `npm install -D allure` to use `npx allure` + +## Supported versions and platforms + +- `mocha >= 6.2.0` +- Linux, macOS, and Windows wherever Mocha supports Node.js +- this repository is validated in CI on Node.js 20 and 22 + ## Usage Enable the `allure-mocha` reporter. For example, in `.mocharc.json`: @@ -48,18 +65,18 @@ You may select another location, or further customize the reporter's behavior wi ### View the report -> You need Allure Report to be installed on your machine to generate and open the report from the result files. See the [installation instructions](https://allurereport.org/docs/install/) on how to get it. - -Generate Allure Report after the tests are executed: +Use Allure Report 2: ```bash allure generate ./allure-results -o ./allure-report +allure open ./allure-report ``` -Open the generated report: +Or use Allure Report 3: ```bash -allure open ./allure-report +npx allure generate ./allure-results +npx allure open ./allure-report ``` ## Allure API diff --git a/packages/allure-playwright/README.md b/packages/allure-playwright/README.md index a1bb06790..0d7689bd7 100644 --- a/packages/allure-playwright/README.md +++ b/packages/allure-playwright/README.md @@ -18,6 +18,12 @@ The docs for Allure Playwright are available at [https://allurereport.org/docs/p Also, check out the examples at [github.com/allure-examples](https://github.com/orgs/allure-examples/repositories?q=visibility%3Apublic+archived%3Afalse+topic%3Aexample+topic%3Aplaywright). +## Features + +- writes Allure results from Playwright Test runs +- supports steps, traces, screenshots, labels, links, parameters, and runtime API calls through `allure-js-commons` +- works with Allure Report 2 and Allure Report 3 + ## Installation Install `allure-playwright` using a package manager of your choice. For example: @@ -26,6 +32,17 @@ Install `allure-playwright` using a package manager of your choice. For example: npm install -D allure-playwright ``` +Install Allure Report separately when you want to render the generated `allure-results`: + +- follow the [Allure Report 2 installation guide](https://allurereport.org/docs/install/) to use the `allure` CLI +- or install Allure Report 3 with `npm install -D allure` to use `npx allure` + +## Supported versions and platforms + +- `@playwright/test >= 1.53.0` +- Linux, macOS, and Windows wherever Playwright Test supports Node.js +- this repository is validated in CI on Node.js 20 and 22 + ## Usage Add `allure-playwright` as the reporter in the Playwright configuration file: @@ -61,18 +78,18 @@ You may select another location, or further customize the reporter's behavior wi ### View the report -> You need Allure Report to be installed on your machine to generate and open the report from the result files. See the [installation instructions](https://allurereport.org/docs/install/) on how to get it. - -Generate Allure Report after the tests are executed: +Use Allure Report 2: ```bash allure generate ./allure-results -o ./allure-report +allure open ./allure-report ``` -Open the generated report: +Or use Allure Report 3: ```bash -allure open ./allure-report +npx allure generate ./allure-results +npx allure open ./allure-report ``` ## Allure API diff --git a/packages/allure-vitest/README.md b/packages/allure-vitest/README.md index 5ed908b3a..dfd230c2f 100644 --- a/packages/allure-vitest/README.md +++ b/packages/allure-vitest/README.md @@ -1,8 +1,8 @@ -# vitest-allure +# allure-vitest > Allure framework integration for [Vitest](https://vitest.dev/) framework -Allure Report logo +[Allure Report logo](https://allurereport.org "Allure Report") - Learn more about Allure Report at https://allurereport.org - 📚 [Documentation](https://allurereport.org/docs/) – discover official documentation for Allure Report @@ -18,6 +18,12 @@ The docs for Allure Vitest are available at [https://allurereport.org/docs/vites Also, check out the examples at [github.com/allure-examples](https://github.com/orgs/allure-examples/repositories?q=visibility%3Apublic+archived%3Afalse+topic%3Aexample+topic%3Avitest). +## Features + +- writes Allure results from Vitest node and browser runs +- supports labels, links, parameters, steps, and attachments through `allure-js-commons` +- works with Allure Report 2 and Allure Report 3 + ## Installation Install `allure-vitest` using a package manager of your choice. For example: @@ -32,6 +38,18 @@ npm install -D allure-vitest > ``` > Keep in mind, that `allure-js-commons` and `allure-vitest` must have the same version. The same goes for `vitest` and `@vitest/runner`. Use [`yarn info`](https://yarnpkg.com/cli/info) to check the versions. +Install Allure Report separately when you want to render the generated `allure-results`: + +- follow the [Allure Report 2 installation guide](https://allurereport.org/docs/install/) to use the `allure` CLI +- or install Allure Report 3 with `npm install -D allure` to use `npx allure` + +## Supported versions and platforms + +- `vitest >= 1.3.0` +- `@vitest/runner >= 1.3.0` +- Linux, macOS, and Windows wherever Vitest supports Node.js +- this repository is validated in CI on Node.js 20 and 22 + ## Usage Add next changes to your config file if you want to use vitest to run NodeJS tests only: @@ -78,6 +96,22 @@ export default defineConfig({ }); ``` +### View the report + +Use Allure Report 2: + +```bash +allure generate ./allure-results -o ./allure-report +allure open ./allure-report +``` + +Or use Allure Report 3: + +```bash +npx allure generate ./allure-results +npx allure open ./allure-report +``` + ## Allure API Enhance the report by utilizing the runtime API: diff --git a/packages/newman-reporter-allure/README.md b/packages/newman-reporter-allure/README.md index 7db58ec79..b39c8f91a 100644 --- a/packages/newman-reporter-allure/README.md +++ b/packages/newman-reporter-allure/README.md @@ -18,6 +18,12 @@ The docs for Allure Newman are available at [https://allurereport.org/docs/newma Also, check out the examples at [github.com/allure-examples](https://github.com/orgs/allure-examples/repositories?q=visibility%3Apublic+archived%3Afalse+topic%3Aexample+topic%3Anewman). +## Features + +- writes standard Allure results from Newman collections +- supports Allure metadata through request and test annotations +- works with Allure Report 2 and Allure Report 3 + ## Installation Install `newman-reporter-allure` using a package manager of your choice. For example: @@ -26,6 +32,17 @@ Install `newman-reporter-allure` using a package manager of your choice. For exa npm install -D newman-reporter-allure ``` +Install Allure Report separately when you want to render the generated `allure-results`: + +- follow the [Allure Report 2 installation guide](https://allurereport.org/docs/install/) to use the `allure` CLI +- or install Allure Report 3 with `npm install -D allure` to use `npx allure` + +## Supported versions and platforms + +- `newman >= 3.5.0` +- Linux, macOS, and Windows wherever Newman supports Node.js +- this repository is validated in CI on Node.js 20 and 22 + ## Usage Enable the `allure` reporter via the CLI: @@ -46,18 +63,18 @@ You may select another location, or further customize the reporter's behavior wi ### View the report -> You need Allure Report to be installed on your machine to generate and open the report from the result files. See the [installation instructions](https://allurereport.org/docs/install/) on how to get it. - -Generate Allure Report after the tests are executed: +Use Allure Report 2: ```bash allure generate ./allure-results -o ./allure-report +allure open ./allure-report ``` -Open the generated report: +Or use Allure Report 3: ```bash -allure open ./allure-report +npx allure generate ./allure-results +npx allure open ./allure-report ``` ## Allure API