Package Exports
- cy-parallel
- cy-parallel/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (cy-parallel) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
cy-parallel
A powerful tool to run Cypress tests in parallel, optimizing test execution time.
Table of Contents
Usage
DIR="cypress/e2e" COMMAND="npx run cypress" yarn cy-parallelEnvironment Variables
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 forcy-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.jsongenerate html report
npx mochawesome-report-generator cypress/reports/merged-report.json -o cypress/reports/merged-html-report
Examples
Basic Usage
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