@saucelabs/cypress-junit-plugin
TypeScript icon, indicating that this package has built-in type declarations

0.3.0 • Public • Published

@saucelabs/cypress-junit-plugin

@saucelabs/cypress-junit-plugin is a third-party plugin designed to enhance your Cypress testing workflow by generating comprehensive JUnit test reports.

Please be aware that this plugin is not an official product of Sauce Labs.

Unique Features

Unlike Cypress' built-in junit reporter, this plugin generates a single, consolidated JUnit file for the entire test run, rather than individual files per spec that then need to be merged.

Prerequisites

Cypress Version: This plugin is compatible with Cypress version 13 and above. Make sure your project is updated to meet this version requirement.

Installation

To install the plugin, run the following command in your project directory:

npm install @saucelabs/cypress-junit-plugin --save-dev

Configuration

After installation, configure the plugin to work with your Cypress setup.

cypress.config.mjs Example:

import { defineConfig } from 'cypress';
import { setupJUnitPlugin } from '@saucelabs/cypress-junit-plugin';

export default defineConfig({
  e2e: {
    setupNodeEvents(on, config) {
      setupJUnitPlugin(on, config, { filename: "path/to/my_junit.xml" });
      return config;
    }
  },
});

cypress.config.cjs Example:

const { defineConfig } = require('cypress');
const { setupJUnitPlugin } = require('@saucelabs/cypress-junit-plugin');

module.exports = defineConfig({
  e2e: {
    setupNodeEvents(on, config) {
      setupJUnitPlugin(on, config, { filename: 'path/to/my_junit.xml' });
      return config;
    },
  },
});

Usage

Simply run your Cypress tests as usual. The plugin will automatically generate a JUnit report at the specified location (default: junit.xml) after the test run is complete.

cypress run

API Usage

If you are using the Cypress module API, you can pass the Cypress results to the plugin directly:

const cypress = require('cypress')
const {createJUnitReport} = require('@saucelabs/cypress-junit-plugin')

cypress.run({
  reporter: 'spec',
  browser: 'chrome',
}).then(r => {
  createJUnitReport(r, { filename: 'path/to/my_junit.xml' });
})

Contributing

Contributions to the @saucelabs/cypress-junit-plugin are welcome! Check out our contributing guidelines for more information on how to participate.

Support

If you run into any issues or have questions about the plugin, feel free to open an issue on our GitHub repository.

License

This plugin is released under the MIT License.

Readme

Keywords

none

Package Sidebar

Install

npm i @saucelabs/cypress-junit-plugin

Weekly Downloads

11

Version

0.3.0

License

MIT

Unpacked Size

22.9 kB

Total Files

12

Last publish

Collaborators

  • thelastheir
  • christina.tonkonogaya
  • joaquin.hurtado
  • webdev-saucelabs
  • gracjan.grala
  • david.missmann
  • thomas.fett
  • pawel-sauce
  • diego.molina
  • sakhi-sl
  • navrajsingh
  • it10403npm
  • rillgen-saucelabs
  • saucebot
  • krzysztof.sulejczak.sauce