Skip to content

Cypress ​

Cypress is a next generation front end testing tool built for the modern web. We address the key pain points developers and QA engineers face when testing modern applications.

This guide explains how to integrate Cypress with TestBeats for centralized and AI-powered reporting.

Prerequisites ​

  • TestBeats API Key (optional) - Sign in for free with your Work Email at testbeats portal to have a centralized and AI powered reporting. Once you're signed in, create a new organization and generate an API Key.

  • In-coming Webhook URL - Create an incoming webhook url for your Slack or Microsoft Teams or Google Chat.

Integration ​

TestBeats can consume the following reports for publishing test results from Cypress:

JUnit Report ​

1. Configure Cucumber.js to generate JUnit reports ​

Run tests by updating the default reporter to junit.

js
// cypress.config.js
const { defineConfig } = require("cypress");

module.exports = defineConfig({
  reporter: 'junit',
  reporterOptions: {
    mochaFile: 'results/junit-[hash].xml',
  }
});

2. Configure TestBeats to consume JSON reports ​

Now the test results can be either published using the command line mode or the configuration mode.

2.1 Command Line Mode ​
  • First, specify the target name using the appropriate target flag. For example, use the --slack flag to specify the incoming webhook URL.

  • Next, specify the path to the result files using the appropriate results format flag. For example, use the --junit flag for junit results.

sh
npx testbeats@latest publish --api-key '<api-key>' --slack '<slack-incoming-webhook-url>' --junit '<path-to-junit-report>'
sh
# Download the executable via `curl`.
curl https://raw.githubusercontent.com/test-results-reporter/testbeats/main/scripts/download-latest.sh | bash

# After download completes, run the executable based on you operating system.
./testbeats-linux publish --api-key '<api-key>' --slack '<slack-incoming-webhook-url>' --junit '<path-to-junit-report>'

TIP

  • TestBeats API Key is optional.
  • Environment variable TEST_BEATS_API_KEY can also be used to specify the API key.
2.2 Configuration Mode ​

Sample testbeats.config.json file

json
{
  "api_key": "<api-key>",
  "targets": [
    {
      "name": "slack",
      "inputs": {
        "url": "<incoming-webhook-url>"
      }
    }
  ],
  "results": [
    {
      "type": "junit",
      "files": ["results/junit-*.xml"]
    }
  ]
}
sh
npx testbeats@latest publish -c path/to/testbeats.config.json
sh
# Download the executable via `curl`.
curl https://raw.githubusercontent.com/test-results-reporter/testbeats/main/scripts/download-latest.sh | bash

# After download completes, run the executable based on you operating system.
./testbeats-linux publish -c path/to/testbeats.config.json

Example Integration ​

For a complete example of integrating Cypress with TestBeats, refer to the GitHub repository example.

Released under the MIT License.