### Initialize Project and Install Allure Source: https://allurereport.org/docs/v3/configure To get type hints with a global installation, initialize a dummy Node.js project and install Allure. Then, wrap your configuration object with `defineConfig`. ```bash npm init --yes npm install -D allure ``` -------------------------------- ### Minimal Allure GitHub Action Workflow Example Source: https://allurereport.org/docs/integrations-github-action A complete GitHub Actions workflow demonstrating checkout, setup, dependency installation, test execution with Allure reporter, and posting the Allure summary. ```yaml name: Tests with Allure Report on: pull_request: branches: [main] permissions: pull-requests: write checks: write jobs: test: runs-on: ubuntu-latest steps: # 1. Checkout code - name: Checkout uses: actions/checkout@v4 # 2. Setup your language/runtime - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: "20" # 3. Install dependencies - name: Install dependencies run: npm ci # 4. Run tests (must use Allure reporter) - name: Run tests and generate report run: npx allure run -- npm run test # This generates allure-results/ directory and creates allure-report/ with summary.json # 5. Post summary to PR - name: Run Allure Action uses: allure-framework/allure-action@v0 with: report-directory: "./allure-report" github-token: ${{ secrets.GITHUB_TOKEN }} ``` -------------------------------- ### Initialize Browser Context with Video Recording Source: https://allurereport.org/docs/guides/pytest-playwright-video Manually start video recording by creating a browser context with the `record_video_dir` parameter. Ensure Playwright is installed and imported. ```python from playwright.sync_api import sync_playwright with sync_playwright() as p: # Start a browser browser = p.chromium.launch() # Initialising a browser context with video recording context = browser.new_context(record_video_dir="path/to/videos") page = context.new_page() page.goto("https://playwright.dev") ``` -------------------------------- ### Constructor and Dispose Methods for Test Context Management Source: https://allurereport.org/docs/xunit-reference This section details how to use `AllureBefore` and `AllureAfter` attributes to manage test context setup and teardown, which are displayed as special steps in the Allure report. It also shows an example of implementing `IDisposable` for cleanup. ```APIDOC ## AllureBefore and AllureAfter Attributes ### Description These attributes are used to define methods that will be executed before and after a test, respectively. They are particularly useful for managing test context, such as setting up resources before a test runs and cleaning them up afterward. These methods are displayed as special steps in the Allure test report. ### Usage - `[AllureBefore(string name = null)]`: Marks a method to be executed before the test. - `[AllureAfter(string name = null)]`: Marks a method to be executed after the test. ### Example (C#) ```csharp using Allure.Xunit.Attributes.Steps; using Xunit; using System; public class TestContextManagement : IDisposable { [AllureBefore("Setup test context")] public TestContextManagement() { // Code to set up the test context Console.WriteLine("Setting up test context..."); } [Fact] public void SampleTest() { // Test logic here Console.WriteLine("Executing test..."); } [AllureAfter("Clean test context")] public void Dispose() { // Code to clean up the test context Console.WriteLine("Cleaning up test context..."); } } ``` ### Notes Refer to xUnit.net's documentation for more details on constructors and the `IDisposable` interface for managing test contexts. ``` -------------------------------- ### Install Allure Playwright with pnpm Source: https://allurereport.org/docs/playwright Install the Allure Playwright adapter using pnpm. ```bash pnpm install --dev @playwright/test allure-playwright ``` -------------------------------- ### Install Allure Robot Framework Adapter Source: https://allurereport.org/docs/robotframework Install the necessary adapter for Allure Report and Robot Framework using pip. This command downloads and installs the package and its dependencies. ```bash pip install allure-robotframework ``` -------------------------------- ### Install Dependencies with npm Source: https://allurereport.org/docs/guides/playwright-parameterization Installs project dependencies using npm. Ensure Node.js and Allure Report are installed prior to running. ```shell npm install ``` -------------------------------- ### Install Allure Vitest with npm Source: https://allurereport.org/docs/vitest Install the Allure Vitest adapter and its dependencies using npm. Ensure vitest and @vitest/runner are installed as devDependencies. ```bash npm install --save-dev vitest @vitest/runner allure-vitest ``` -------------------------------- ### Install Allure Vitest with yarn Source: https://allurereport.org/docs/vitest Install the Allure Vitest adapter and its dependencies using yarn. Ensure vitest and @vitest/runner are installed as devDependencies. ```bash yarn add --dev vitest @vitest/runner allure-vitest allure-js-commons ``` -------------------------------- ### Awesome Plugin Configuration Example Source: https://allurereport.org/docs/v3/configure Example configuration for the Awesome plugin, demonstrating options for report name, language, grouping, and filtering. ```javascript { plugins: { awesome: { options: { singleFile: false, reportLanguage: "en", reportName: "My Awesome Report", groupBy: ["epic", "feature", "story"], filter: ({ labels }) => labels.find(({ name, value }) => name === "framework" && value === "playwright") } } } } ``` -------------------------------- ### Install Allure Plugin Source: https://allurereport.org/docs/v3/configure Install a plugin package using npm. This is the first step to enable a plugin in your project. ```bash npm add @allurereport/plugin-name ``` -------------------------------- ### Install Allure Playwright with yarn Source: https://allurereport.org/docs/playwright Install the Allure Playwright adapter and related dependencies using yarn. ```bash yarn add --dev @playwright/test allure-playwright allure-js-commons ``` -------------------------------- ### Install Dependencies with Yarn Source: https://allurereport.org/docs/guides/playwright-parameterization Installs project dependencies using Yarn. Ensure Node.js and Allure Report are installed prior to running. ```shell yarn install ``` -------------------------------- ### Verify Global Allure Installation Source: https://allurereport.org/docs/v3/install After a global installation, run this command to check if Allure is installed and to see its version. This helps confirm the installation was successful. ```bash allure --version ``` -------------------------------- ### Full Charts Configuration Example Source: https://allurereport.org/docs/v3/configure Configure all available built-in charts with their default options. This example demonstrates how to include various chart types and set their specific parameters for detailed reporting. ```javascript import { defineConfig } from "allure"; // Charts configuration with all chart types and all options set to default values const allChartsDefaultValues = [ { type: "currentStatus", title: "Current status", statuses: ["passed", "failed", "broken", "skipped", "unknown"], metric: "passed", }, { type: "testResultSeverities", title: "Test results by severities", levels: ["blocker", "critical", "normal", "minor", "trivial"], statuses: ["passed", "failed", "broken", "skipped", "unknown"], includeUnset: true, }, { type: "statusDynamics", title: "Status dynamics", limit: 10, statuses: ["passed", "failed", "broken", "skipped", "unknown"], }, { type: "statusTransitions", title: "Status transitions", limit: 10, }, { type: "testBaseGrowthDynamics", title: "Test base growth dynamics", statuses: ["passed", "failed", "broken", "skipped", "unknown"], limit: 10, }, { type: "coverageDiff", title: "Coverage diff map", }, { type: "successRateDistribution", title: "Success rate distribution", }, { type: "problemsDistribution", title: "Problems distribution by environment", by: "environment", }, { type: "stabilityDistribution", title: "Stability distribution by features", threshold: 90, skipStatuses: ["skipped", "unknown"], groupBy: "feature", }, { type: "stabilityDistribution", title: "Stability distribution by epics", threshold: 90, skipStatuses: ["skipped", "unknown"], groupBy: "epic", }, { type: "stabilityDistribution", title: "Stability distribution by stories", threshold: 90, skipStatuses: ["skipped", "unknown"], groupBy: "story", }, { type: "durations", title: "Durations histogram", groupBy: "none", }, { type: "durations", title: "Durations by layer histogram", groupBy: "layer", }, { type: "durationDynamics", title: "Durations dynamics", limit: 10, }, { type: "statusAgePyramid", title: "Status age pyramid", limit: 10, }, { type: "testingPyramid", ``` -------------------------------- ### Install Allure Vitest with pnpm Source: https://allurereport.org/docs/vitest Install the Allure Vitest adapter and its dependencies using pnpm. Ensure vitest and @vitest/runner are installed as devDependencies. ```bash pnpm install --dev vitest @vitest/runner allure-vitest ``` -------------------------------- ### Install Dependencies with pnpm Source: https://allurereport.org/docs/guides/playwright-parameterization Installs project dependencies using pnpm. Ensure Node.js and Allure Report are installed prior to running. ```shell pnpm install ``` -------------------------------- ### Install Allure Jasmine with npm Source: https://allurereport.org/docs/jasmine Install the Allure Jasmine adapter using npm. Ensure Node.js is installed and meets the version requirements. ```bash npm install --save-dev allure-jasmine ``` -------------------------------- ### Install Allure Jasmine with yarn Source: https://allurereport.org/docs/jasmine Install the Allure Jasmine adapter and commons using yarn. Ensure Node.js is installed and meets the version requirements. ```bash yarn add --dev allure-jasmine allure-js-commons ``` -------------------------------- ### Install Allure WebdriverIO Adapter with npm Source: https://allurereport.org/docs/webdriverio Install the Allure WebdriverIO adapter using npm. This is a necessary step before configuring it in your wdio.conf.ts file. ```bash npm install --save-dev @wdio/allure-reporter ``` -------------------------------- ### Basic Swift Testing Example Source: https://allurereport.org/docs/guides/xcresults-reader A simple Swift Testing example demonstrating a passing and a failing test. ```swift import Testing struct MathTests { @Test func addition() async throws { let result = 2 + 3 #expect(result == 5) } @Test func incorrectMultiplication() async throws { let result = 3 * 4 #expect(result == 11) // This will fail } } ``` -------------------------------- ### Verify Project-Specific Allure Installation Source: https://allurereport.org/docs/v3/install For project-specific installations, use 'npx' to run the 'allure' command and verify its version. This ensures the locally installed version is accessible. ```bash npx allure --version ``` -------------------------------- ### Install Allure Behave Adapter Source: https://allurereport.org/docs/behave Install the Allure Behave adapter using pip. This command should be run after activating your virtual environment. ```bash pip install allure-behave ``` -------------------------------- ### Install Allure Mocha Adapter with pnpm Source: https://allurereport.org/docs/mocha Install the Allure Mocha adapter and Mocha framework as development dependencies using pnpm. ```bash pnpm install --dev mocha allure-mocha ``` -------------------------------- ### Install Allure Cucumber.js with yarn Source: https://allurereport.org/docs/cucumberjs Install the Allure Cucumber.js adapter and its dependencies using yarn. ```bash yarn add --dev @cucumber/cucumber @cucumber/messages allure-cucumberjs allure-js-commons ``` -------------------------------- ### Install Allure Cucumber.js with npm Source: https://allurereport.org/docs/cucumberjs Install the Allure Cucumber.js adapter and its dependencies using npm. ```bash npm install --save-dev @cucumber/cucumber @cucumber/messages allure-cucumberjs ``` -------------------------------- ### Install Allure Jasmine with pnpm Source: https://allurereport.org/docs/jasmine Install the Allure Jasmine adapter using pnpm. Ensure Node.js is installed and meets the version requirements. ```bash pnpm install --dev allure-jasmine ``` -------------------------------- ### Install Allure Cucumber.js with pnpm Source: https://allurereport.org/docs/cucumberjs Install the Allure Cucumber.js adapter and its dependencies using pnpm. ```bash pnpm install --dev @cucumber/cucumber @cucumber/messages allure-cucumberjs ``` -------------------------------- ### Install Allure WebdriverIO Adapter with pnpm Source: https://allurereport.org/docs/webdriverio Install the Allure WebdriverIO adapter using pnpm. This is another alternative package manager. ```bash pnpm install --dev @wdio/allure-reporter ``` -------------------------------- ### Install Allure Mocha Adapter with npm Source: https://allurereport.org/docs/mocha Install the Allure Mocha adapter and Mocha framework as development dependencies using npm. ```bash npm install --save-dev mocha allure-mocha ``` -------------------------------- ### Install Allure Newman Adapter with npm Source: https://allurereport.org/docs/newman Install the Allure Newman adapter as a development dependency using npm. Ensure Node.js is installed and you are in your project directory. ```bash npm install --save-dev newman-reporter-allure ``` -------------------------------- ### Install Allure Globally Source: https://allurereport.org/docs/v3/install Use this command to install Allure Report globally on your system. This makes the 'allure' command available system-wide. ```bash npm install -g allure ``` -------------------------------- ### Environment Properties Example Source: https://allurereport.org/docs/how-it-works-environment-file This is an example of the `.properties` format used for the `environment.properties` file. It defines key-value pairs to be displayed in the Allure test report. ```properties os_platform = linux os_release = 5.15.0-60-generic os_version = #66-Ubuntu SMP Fri Jan 20 14:29:49 UTC 2023 python_version = Python 3.10.9 ``` -------------------------------- ### Install Allure WebdriverIO Adapter with yarn Source: https://allurereport.org/docs/webdriverio Install the Allure WebdriverIO adapter using yarn. This is an alternative to npm for package management. ```bash yarn add --dev @wdio/allure-reporter ``` -------------------------------- ### Install Allure Jest Adapter (pnpm) Source: https://allurereport.org/docs/jest Install the Allure Jest adapter as a development dependency using pnpm. ```bash pnpm install --dev allure-jest ``` -------------------------------- ### Install Allure Jest Adapter (npm) Source: https://allurereport.org/docs/jest Install the Allure Jest adapter as a development dependency using npm. ```bash npm install --save-dev allure-jest ``` -------------------------------- ### Install Allure Playwright with npm Source: https://allurereport.org/docs/playwright Install the Allure Playwright adapter and Playwright test dependencies using npm. ```bash npm install --save-dev @playwright/test allure-playwright ``` -------------------------------- ### Install Allure CodeceptJS with npm Source: https://allurereport.org/docs/codeceptjs Install the necessary packages for Allure CodeceptJS integration using npm. ```bash npm install --save-dev codeceptjs allure-codeceptjs ``` -------------------------------- ### Install Allure Mocha Adapter with yarn Source: https://allurereport.org/docs/mocha Install the Allure Mocha adapter, Mocha framework, and allure-js-commons as development dependencies using yarn. ```bash yarn add --dev mocha allure-mocha allure-js-commons ``` -------------------------------- ### Install Allure Cypress Adapter with npm Source: https://allurereport.org/docs/cypress Install the Allure Cypress adapter using npm. This is a development dependency. ```bash npm install --save-dev allure-cypress ``` -------------------------------- ### Install Allure Cypress Adapter with yarn Source: https://allurereport.org/docs/cypress Install the Allure Cypress adapter using yarn. This is a development dependency. ```bash yarn add --dev allure-cypress ``` -------------------------------- ### Install Allure Jest Adapter (yarn) Source: https://allurereport.org/docs/jest Install the Allure Jest adapter and js-commons as development dependencies using yarn. ```bash yarn add --dev allure-jest allure-js-commons ``` -------------------------------- ### Install Allure Project-Specific Source: https://allurereport.org/docs/v3/install Use this command to install Allure Report as a project dependency. This is recommended for managing dependencies on a per-project basis. ```bash npm install allure ``` -------------------------------- ### Configure Vitest for Allure Reporter (Standard) Source: https://allurereport.org/docs/vitest Configure your Vitest setup file to include the Allure Vitest setup and reporter. This configuration is for most package managers. ```typescript import AllureReporter from "allure-vitest/reporter"; import { defineConfig } from "vitest/config"; export default defineConfig({ test: { setupFiles: ["allure-vitest/setup"], reporters: [ "verbose", [ "allure-vitest/reporter", { resultsDir: "allure-results", }, ], ], }, }); ``` -------------------------------- ### Create Dummy Node.js Project for Allure 3 Source: https://allurereport.org/docs/v3/migrate Set up a minimal Node.js project to leverage Allure 3's dynamic configuration capabilities. This involves initializing npm, installing Allure, and then running Allure commands. ```bash npm init --yes npm install -D allure npx allure ``` -------------------------------- ### Static Allure Configuration (JSON) Source: https://allurereport.org/docs/v3/configure Example of a static Allure configuration in JSON format. Static configs have limited functionality, such as no imports or executable code, but work with a global install of Allure Report 3. ```json { "name": "Allure Report", "output": "./allure-report", "historyPath": "./history.jsonl", "qualityGate": { "rules": [ { "maxFailures": 5, "fastFail": true } ] }, "plugins": { "awesome": { "options": { "reportName": "HelloWorld", "singleFile": false, "reportLanguage": "en", "open": false, "publish": true } }, "allure2": { "options": { "reportName": "HelloWorld", "singleFile": false, "reportLanguage": "en" } }, "classic": { "options": { "reportName": "HelloWorld", "singleFile": false, "reportLanguage": "en" } }, "awesome": { "options": { "reportName": "HelloWorld", "singleFile": false, "reportLanguage": "en", "open": false, "publish": true } }, "dashboard": { "options": { "singleFile": false, "reportName": "HelloWorld-Dashboard", "reportLanguage": "en" } }, "csv": { "options": { "fileName": "allure-report.csv" } }, "log": { "options": { "groupBy": "none" } } }, "variables": { "env_variable": "unknown" } } ``` -------------------------------- ### Configure Allure Codeception with codeception.yml Source: https://allurereport.org/docs/codeception-configuration Control Allure Codeception's behavior by setting configuration options in your `codeception.yml` file. This example shows how to set the output directory, a setup hook, and link templates. ```yaml namespace: Tests support_namespace: Support paths: tests: tests output: tests/_output data: tests/Support/Data support: tests/Support envs: tests/_envs extensions: enabled: - Qameta\Allure\Codeception\AllureCodeception config: Qameta\Allure\Codeception\AllureCodeception: outputDirectory: allure-results setupHook: Hooks\SetupHook linkTemplates: issue: https://issues.example.org/%s tms: https://tms.example.org/%s jira: https://jira.example.org/browse/%s ``` -------------------------------- ### Get NPM Prefix Path (Windows) Source: https://allurereport.org/docs/v3/install On Windows, if the 'allure' command is not found after a global installation, this command helps find the NPM prefix path, which may need to be added to the system's PATH variable. ```powershell npm config get prefix ``` -------------------------------- ### Open Allure Report Directory with Local Server Source: https://allurereport.org/docs/v3/view-report Use this command to start a local web server for viewing directory-based Allure reports. Unpack ZIP archives before running. Press Ctrl+C to stop the server. ```bash allure open ``` -------------------------------- ### Dynamic Allure Configuration (JavaScript) Source: https://allurereport.org/docs/v3/configure Example of a dynamic Allure configuration using JavaScript (.mjs). This format supports environment variables, conditional logic, computed values, and imported utilities. Ensure Allure is installed locally in your project. ```javascript import { defineConfig } from "allure"; export default defineConfig({ name: "Allure Report", output: "./allure-report", historyPath: "./history.jsonl", qualityGate: { rules: [ { maxFailures: 5, fastFail: true, }, ], }, plugins: { awesome: { options: { reportName: "HelloWorld", singleFile: false, reportLanguage: "en", open: false, charts: chartLayout, publish: true, }, }, allure2: { options: { reportName: "HelloWorld", singleFile: false, reportLanguage: "en", }, }, classic: { options: { reportName: "HelloWorld", singleFile: false, reportLanguage: "en", }, }, dashboard: { options: { singleFile: false, reportName: "HelloWorld-Dashboard", reportLanguage: "en", layout: defaultChartsConfig, }, }, csv: { options: { fileName: "allure-report.csv", }, }, log: { options: { groupBy: "none", }, }, }, variables: { env_variable: "unknown", }, environments: { foo: { variables: { env_variable: "foo", env_specific_variable: "foo", }, matcher: ({ labels }) => labels.some(({ name, value }) => name === "env" && value === "foo"), }, bar: { variables: { env_variable: "bar", env_specific_variable: "bar", }, matcher: ({ labels }) => labels.some(({ name, value }) => name === "env" && value === "bar"), }, }, }); ``` -------------------------------- ### Allure Container JSON Example Source: https://allurereport.org/docs/how-it-works-container-file This JSON object represents a container file, detailing initialization ('befores') and finalization ('afters') steps for a set of tests. It includes the container's UUID, start and stop times, and a list of child test result UUIDs. ```json { "uuid": "987b1a5d-fbab-4707-acff-ddfd41f9e511", "start": 1682502818632, "stop": 1682502818712, "children": [ "f82da25c-3565-4eb4-a1db-4a502fe35eea", "fc9e5cee-f4af-475c-94f2-5902ee7c9d2d", "e3592f29-c828-4816-8d3d-3759c6663b27" ], "befores": [ { "name": "Create temporary directory", "status": "passed", "start": 1682502818632, "stop": 1682502818632 }, { "name": "Create temporary files", "status": "passed", "start": 1682502818632, "stop": 1682502818632 } ], "afters": [ { "name": "Remove temporary files", "status": "passed", "start": 1682502818712, "stop": 1682502818712 }, { "name": "Remove temporary directory", "status": "passed", "start": 1682502818712, "stop": 1682502818712 } ] } ``` -------------------------------- ### Build Project (Windows) Source: https://allurereport.org/docs/spock Update your project and fetch all dependencies using Gradle on Windows. ```bash gradlew build ``` -------------------------------- ### Create and Activate Virtual Environment Source: https://allurereport.org/docs/pytest Create a new virtual environment for your project and then activate it. This is a common practice for managing project dependencies. ```bash python -m venv .venv source .venv/bin/activate ``` -------------------------------- ### Basic Quality Gate Configuration (YAML) Source: https://allurereport.org/docs/quality-gate Configure Quality Gate rules in a static `allurerc.yaml` file. This example shows a placeholder for rule configuration. ```yaml qualityGate: rules: - : ``` -------------------------------- ### Basic Quality Gate Configuration (JSON) Source: https://allurereport.org/docs/quality-gate Configure Quality Gate rules in a static `allurerc.json` file. This example shows a placeholder for rule configuration. ```json { "qualityGate": { "rules": [ { "": "" } ] } } ``` -------------------------------- ### Get Command Help Source: https://allurereport.org/docs/v3/configure Display detailed help information for any Allure command. This is useful for understanding available options and usage. ```bash allure --help ``` -------------------------------- ### Include Constructor and Dispose as Steps Source: https://allurereport.org/docs/xunit Annotate the constructor and Dispose methods with [AllureBefore] and [AllureAfter] attributes, respectively, to have them appear as special steps in the Allure report. This is useful for visualizing test setup and teardown actions. Requires Allure.Xunit.Attributes.Steps. ```csharp using Allure.Xunit.Attributes.Steps; using Xunit; public class TestLabels : IDisposable { [AllureBefore("Setup test context")] public TestLabels() { // ... } [Fact] public void TestCreateLabel() { // ... } [AllureAfter("Clean test context")] public void Dispose() { // ... } } ``` -------------------------------- ### Install Allure Newman Adapter with pnpm Source: https://allurereport.org/docs/newman Install the Allure Newman adapter as a development dependency using pnpm. Ensure Node.js is installed and you are in your project directory. ```bash pnpm install --dev newman-reporter-allure ``` -------------------------------- ### Install Allure Newman Adapter with yarn Source: https://allurereport.org/docs/newman Install the Allure Newman adapter as a development dependency using yarn. Ensure Node.js is installed and you are in your project directory. ```bash yarn add --dev newman-reporter-allure ``` -------------------------------- ### Navigate to Project Directory Source: https://allurereport.org/docs/behat Use this command to change your current directory to the project's root folder. ```bash cd /home/user/myproject ``` -------------------------------- ### JBehave Scenario Outline Example Source: https://allurereport.org/docs/jbehave Demonstrates a JBehave Scenario Outline with parameters for user registration. This feature allows for parametrized tests. ```gherkin Scenario: Registration When I go to the registration form And I enter my details: , , , Then the profile should be created Examples: | login | password | name | birthday | | johndoe | qwerty | John Doe | 1970-01-01 | | janedoe | 123456 | Jane Doe | 1111-11-11 | ``` -------------------------------- ### Run npm Tests with Allure Wrapper Source: https://allurereport.org/docs/global-errors-and-attachments An example demonstrating how to use the `allure run` command with `npm test` to capture global data from Node.js test runs. ```bash allure run -- npm test ``` -------------------------------- ### Basic XCTest Example Source: https://allurereport.org/docs/guides/xcresults-reader A simple XCTest example demonstrating a passing and a failing test. ```swift import XCTest final class MathTests: XCTestCase { func testAddition() throws { let result = 2 + 3 XCTAssertEqual(result, 5) } func testIncorrectMultiplication() throws { let result = 3 * 4 XCTAssertEqual(result, 11) // This will fail } } ``` -------------------------------- ### Run Tests (Gradle Windows) Source: https://allurereport.org/docs/jbehave Execute your JBehave tests using the Gradle wrapper. This command is for Windows systems. ```bash gradlew test ``` -------------------------------- ### Basic GitHub Actions Workflow for Testing Source: https://allurereport.org/docs/guides/junit5-github-actions This workflow triggers on push events, sets up Java, and runs Gradle tests. Ensure your repository has a `.github/workflows` directory for this file. ```yaml name: Run tests on: [push] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up JDK uses: actions/setup-java@v4 with: distribution: zulu java-version: 17 - name: Run tests run: ./gradlew clean test ``` -------------------------------- ### Install pytest-selenium Plugin Source: https://allurereport.org/docs/guides/pytest-selenium-screenshots Use pip to install the pytest-selenium plugin, which enables Selenium integration with Pytest. ```shell pip install pytest-selenium ``` -------------------------------- ### Install Allure CodeceptJS with pnpm Source: https://allurereport.org/docs/codeceptjs Install the necessary packages for Allure CodeceptJS integration using pnpm. ```bash pnpm install --dev codeceptjs allure-codeceptjs ``` -------------------------------- ### Install Allure CodeceptJS with yarn Source: https://allurereport.org/docs/codeceptjs Install the necessary packages for Allure CodeceptJS integration using yarn. ```bash yarn add --dev codeceptjs allure-codeceptjs allure-js-commons ``` -------------------------------- ### Run Batch Script Source: https://allurereport.org/docs/guides/pytest-parameterization Execute the Allure Report setup script on Windows. ```powershell .\run.bat ``` -------------------------------- ### Basic Plugin Configuration Source: https://allurereport.org/docs/v3/configure Enable a plugin by adding it to the 'plugins' section in your configuration file. You can specify custom options for each plugin. ```javascript { plugins: { "name": { options: { // plugin-specific options } } } } ``` -------------------------------- ### Check Java Version Source: https://allurereport.org/docs/spock Verify that Java version 8 or higher is available in your environment before proceeding with the setup. ```bash java --version ``` -------------------------------- ### Project Structure for TestNG Listener Source: https://allurereport.org/docs/cucumberjvm Illustrates the required project directory structure for registering a custom TestNG listener. Ensure the META-INF/services directory is correctly placed within your test resources. ```text src/ └── test/ └── resources/ └── META-INF/ └── services/ └── org.testng.ITestNGListener ``` -------------------------------- ### Install pytest-playwright Source: https://allurereport.org/docs/guides/playwright-pytest-screenshots Install the Playwright Pytest plugin using pip. This is a prerequisite for using Playwright fixtures in Pytest. ```shell pip install pytest-playwright ```