# cypress-parallel **Repository Path**: trusted-list/cypress-parallel ## Basic Information - **Project Name**: cypress-parallel - **Description**: Reduce up to 40% your Cypress suite execution time parallelizing the test run on the same machine. - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-08 - **Last Updated**: 2026-09-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [![npm version](https://badge.fury.io/js/cypress-parallel.svg)](https://badge.fury.io/js/cypress-parallel) # cypress-parallel Reduce up to 40% your Cypress suite execution time parallelizing the test run on the same machine. | cypress | cypress-parallel | | :-----------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------: | | ![cy-serial-small](https://user-images.githubusercontent.com/38537547/114301114-92600a80-9ac3-11eb-9166-e95ae9cd5178.gif) | ![cy-parallel_small](https://user-images.githubusercontent.com/38537547/114301127-9db33600-9ac3-11eb-9bfc-c2096023bba7.gif) | # Run your Cypress tests in parallel (locally) ## How it works 🔍 - Search for existing Cypress tests\ 📄 - Read (if exists) a weight file\ ⚖️ - Split spec files into different threads\ ⚙️ - For each thread it runs the Cypress command you've passed as argument\ 📈 - Wait for all threads to finish and collects the result in a single report # How to use ## Install ``` npm i cypress-parallel -D ``` or ``` yarn add cypress-parallel -D ``` ## Add a new script In your `package.json` add a new script: ```typescript "scripts" :{ ... "cy:run": "cypress run", // It can be any cypress command with any argument "cy:parallel" : "cypress-parallel -s cy:run -t 2 -d '' -a '\"\"'" ... } ``` ### With Arguments Sample: ``` -a '\"--config baseUrl=http://localhost:3000\"' ``` ## Launch the new script ``` npm run cy:parallel ``` or Run with npx (no package installation needed) ``` npx cy:parallel -s cy:run -t 2 -d '' -a '""' ``` ## Passing Specs ``` cypress-parallel -s cy:run -t 2 -a '\"\"' --spec path/to/spec1.spec.js path/to/spec2.spec.js ``` ### Scripts options | Option | Alias | Description | Type | | ----------------- | ----- | ---------------------------------- | ------ | | --help | | Show help | | | --version | | Show version number | | | --script | -s | Your npm Cypress command | string | | --args | -a | Your npm Cypress command arguments | string | | --threads | -t | Number of threads | number | | --specsDir | -d | Cypress specs directory | string | | --spec | | Cypress spec file paths | string | | --weightsJson | -w | Parallel weights json file | string | | --reporter | -r | Reporter to pass to Cypress. | string | | --reporterOptions | -o | Reporter options | string | | --reporterModulePath | -n | Specify the reporter module path | string | | --bail | -b | Exit on first failing thread | string | | --verbose | -v | Some additional logging | string | | --strictMode | -m | Add stricter checks after running the tests | boolean | **NB**: If you use *cypress-cucumber-preprocesor*, please **disable** the *strictMode* to avoid possible errors: ```typescript "scripts" :{ ... "cy:parallel" : "cypress-parallel -s cy:run -t 4 -m false" ... } ``` **NB**: If your *cypress-multi-reporters* module is not found on the same level as your Cypress suite (e.g. in a mono-repo) then you can specify the module directory for Cypress to search within. ```typescript "scripts" :{ ... "cy:parallel" : "cypress-parallel -s cy:run -t 4 -n .../../../node_modules/cypress-multi-reporters" ... } ``` ## Env variables ### CYPRESS_THREAD You can get the current thread index by reading the `CYPRESS_THREAD` variable. ```javascript const threadIndex = process.env.CYPRESS_THREAD; // return 1, 2, 3, 4, ... ``` # Contributors Looking for contributors. # License This project is licensed under the MIT license. See [LICENSE](LICENSE).