1.1.5 • Published 10 months ago

cypress-parallel-manual v1.1.5

Weekly downloads
-
License
MIT
Repository
-
Last release
10 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

10 months ago

1.1.4

10 months ago

1.1.3

10 months ago

1.1.2

10 months ago

1.1.1

10 months ago

1.1.0

10 months ago

1.0.2

10 months ago

1.0.1

10 months ago

1.0.0

10 months ago

0.1.0

10 months ago

0.14.0

10 months ago