0.0.2 • Published 2 years ago

@elewandowski/cypress-repeat v0.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

This is forked from https://github.com/bahmutov/cypress-repeat

and adds a run-all flag to the cli, to force cypress to not stop execution, if a test run fails.

cypress-repeat ci status renovate-app badge cypress version

Run Cypress multiple times in a row, great at finding test flake

Read Wrap Cypress Using NPM Module API and Retry, Rerun, Repeat.

Install

npm i -D cypress-repeat
# or using Yarn
yarn add -D cypress-repeat

This module assumes the cypress dependency v5.3.0+ has been installed.

Use

npx cypress-repeat run -n <N> ... rest of "cypress run" arguments

Which will run Cypresss <N> times, exiting after the first failed run or after all runs finish successfully.

Until passes

You can flip the logic and run Cypress up to N times until the first successful exit

npx cypress-repeat run -n <N> --until-passes ... rest of "cypress run" arguments

Rerun only failed Specs

You can rerun only the specs that failed

npx cypress-repeat run -n <N> --until-passes --rerun-failed-only ... rest of "cypress run" arguments

Env variables

Every run has two utility variables injected

const n = Cypress.env('cypress_repeat_n') // total repeat attempts
const k = Cypress.env('cypress_repeat_k') // current attempt, starts with 1
// and is <= n

Debugging

Run this script with environment variable DEBUG=cypress-repeat to see verbose logs

What about test retries?

This NPM module retries the entire Cypress run, if you need to retry just the failed tests, use the Test Retries.