Skip to content

A plugin for uploading Cypress test results to Xray, including evidence such as screenshots, videos or custom data. Fully compatible with Cucumber.

License

Notifications You must be signed in to change notification settings

Qytera-Gmbh/cypress-xray-plugin

Repository files navigation

npm version npm downloads open GitHub issues unaddressed GitHub issues

Cypress Xray Plugin

A Cypress plugin for Xray integration. Supports Xray Server/DC and Xray Cloud.

Features include:

  • upload test results to Xray
    • attach screenshots as test execution evidence
    • attach web requests as test execution evidence
    • attach videos to test execution issues
    • reuse existing test execution and test plan issues
  • CI/CD ready
    • no hardcoded credentials
    • every option customizable in CLI
  • Cucumber integration
    • synchronization/upload of step definitions to Xray
    • results upload as described above

Quick Setup

Run the following command to add the plugin to your project:

npm install --save-dev cypress-xray-plugin

Then, configure the plugin in the Cypress project configuration:

import { configureXrayPlugin } from "cypress-xray-plugin";

export default defineConfig({
    e2e: {
        async setupNodeEvents(on, config) {
            await configureXrayPlugin(on, config, {
                jira: {
                    projectKey: "PRJ",
                    url: "https://example.org",
                },
            });
        },
    },
});

Make sure you also configure your credentials for Jira/Xray.

To have the plugin upload test results, link your test cases to Xray tests by specifying the corresponding issue keys in the test titles:

it("PRJ-42 My test", () => {
    // ...
});

Note

This plugin only works when running Cypress through the CLI (i.e. npx cypress run).

Documentation

Please visit the documentation to find out how to fully setup the plugin, including a full list of options.

Issues

If you're encountering strange behaviour or feel like a feature is missing, feel free to create a GitHub issue.