cypress-parallel

    0.9.1 • Public • Published

    npm version

    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 cy-parallel_small

    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
    

    or

    yarn add cypress-parallel
    

    Add a new script

    In your package.json add a new script:

    "scripts" :{
      ...
      "cy:run": "cypress run", // It can be any cypress command with any argument
      "cy:parallel" : "cypress-parallel -s cy:run -t 2 -d <your-cypress-specs-folder> -a '\"<your-cypress-cmd-args>\"'"
      ...
    }

    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 <your-cypress-specs-folder> -a '\"<your-cypress-cmd-args>\"'
    

    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
    --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:

    "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.

    "scripts" :{
      ...
      "cy:parallel" : "cypress-parallel -s cy:run -t 4 -n .../../../node_modules/cypress-multi-reporters"
      ...
    }

    Contributors

    Looking for contributors.

    License

    MIT

    Install

    npm i cypress-parallel

    DownloadsWeekly Downloads

    40,903

    Version

    0.9.1

    License

    MIT

    Unpacked Size

    21.9 kB

    Total Files

    10

    Last publish

    Collaborators

    • nicola.tommasi