1.1.5 • Published 9 months ago

cypress-parallel-manual v1.1.5

Weekly downloads
-
License
MIT
Repository
-
Last release
9 months ago

npm version

cypress-parallel-manual

Reduce up to 40% your Cypress suite execution time parallelizing the test run on the same machine....

Run your Cypress tests in parallel (locally)

How it works

šŸ” - Search for existing Cypress tests\ šŸ“„ - Read (if exists) a weight file, also Read (if exists) a test-distrubiton.json 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

Test-distribution JSON

If you want to distribute features manually to threads you should create a test-distribution.json file, also it have to been inside cypress file

NB: If you have a test-distribution.json file, it will look at this file as the first priority.

In your test-distribution.json 3 thread example demonstration :

[
  [
    "cypress/e2e/features1/feature1.feature",
    "cypress/e2e/features1/feature2.feature"
    ...
  ],
  [
    "cypress/e2e/features1/feature3.feature",
    "cypress/e2e/features2/feature1.feature",
    ...
  ],
  [
    "cypress/e2e/features2/feature2.feature",
    "cypress/e2e/features3/feature1.feature",
    ...
  ]
]

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

OptionAliasDescriptionType
--helpShow help
--versionShow version number
--script-sYour npm Cypress commandstring
--args-aYour npm Cypress command argumentsstring
--threads-tNumber of threadsnumber
--specsDir-dCypress specs directorystring
--weightsJson-wParallel weights json filestring
--reporter-rReporter to pass to Cypress.string
--reporterOptions-oReporter optionsstring
--reporterModulePath-nSpecify the reporter module pathstring
--bail-bExit on first failing threadstring
--verbose-vSome additional loggingstring
--strictMode-mAdd stricter checks after running the testsboolean

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

1.1.5

9 months ago

1.1.4

9 months ago

1.1.3

9 months ago

1.1.2

9 months ago

1.1.1

9 months ago

1.1.0

9 months ago

1.0.2

9 months ago

1.0.1

9 months ago

1.0.0

9 months ago

0.1.0

9 months ago

0.14.0

9 months ago