@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.
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.
Cypress Version: This plugin is compatible with Cypress version 13 and above. Make sure your project is updated to meet this version requirement.
To install the plugin, run the following command in your project directory:
npm install @saucelabs/cypress-junit-plugin --save-dev
After installation, configure the plugin to work with your Cypress setup.
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;
}
},
});
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;
},
},
});
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
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' });
})
Contributions to the @saucelabs/cypress-junit-plugin
are welcome! Check out our contributing guidelines for more information on how to participate.
If you run into any issues or have questions about the plugin, feel free to open an issue on our GitHub repository.
This plugin is released under the MIT License.