cy-parallel

1.1.0 • Public • Published

cy-parallel

A powerful tool to run Cypress tests in parallel, optimizing test execution time.

Table of Contents

DIR="cypress/e2e" COMMAND="npx run cypress" yarn cy-parallel
  • DIR: Directory of tests (default: cypress/e2e).
  • COMMAND: Cypress command (default: npx cypress run).
  • WORKERS: Number of workers (default: CPU cores).
  • POLL: Set to true for Polling Mode; otherwise, Weighted Bucketing is used.
  • WEIGHT_PER_TEST: Weight assigned to each test (default: 1). (Only for Weighted Bucketing)
  • BASE_WEIGHT: Base weight value (default: 1). (Only for Weighted Bucketing)
  • VERBOSE: Enable logging for cy-parallel (default: true).
  • CYPRESS_LOG: Enable Cypress-specific logging (default: true).

Modes

Feel free to experiment and measure which option is faster in your case. You can use time <your_command> to measure run durations.

  • Weighted Bucketing (default) (POLL=false): Distributes tests evenly on workers.
  • Polling (POLL=true): Start workers, worker get tests from a test file queue.

Reporting

  • Merging report can be done with mochawesome
  • Install dependencies yarn add -D mochawesome mochawesome-merge mochawesome-report-generator

Example:

  • Setup mochawesome in cypress config
import { defineConfig } from 'cypress';

export default defineConfig({
  e2e: {
    setupNodeEvents(on, config) {
      // implement node event listeners here
    },
    reporter: 'mochawesome',
    video: true,
    reporterOptions: {
      reportDir: 'cypress/reports',
      overwrite: false,
      json: true,
      reportFilename: '[name]-[datetime]',
    },
  },
});
  • Merge reports mochawesome-merge cypress/reports/*.json > cypress/reports/merged-report.json

  • generate html report npx mochawesome-report-generator cypress/reports/merged-report.json -o cypress/reports/merged-html-report

CYPRESS_LOG=false WORKERS=2 POLL=true yarn cy-parallel
  • Don't log Cypress logs to stdout
  • Only 2 parallel processes (Workers)
  • Use POLL mode. 2 workers pulling tests from a queue

Package Sidebar

Install

npm i cy-parallel

Weekly Downloads

144

Version

1.1.0

License

MIT

Unpacked Size

22.6 kB

Total Files

4

Last publish

Collaborators

  • tamasmagyar