UNPKG

codeceptjs

Version:

Supercharged End 2 End Testing Framework for NodeJS

76 lines (58 loc) 2.13 kB
--- permalink: /plugins/retryFailedStep editLink: false sidebar: auto title: retryFailedStep --- <!-- Generated by documentation.js. Update this documentation by updating the source code. --> ## retryFailedStep Retries each failed step in a test. Add this plugin to config file: ```js plugins: { retryFailedStep: { enabled: true } } ``` Run tests with plugin enabled: npx codeceptjs run --plugins retryFailedStep #### Configuration: * `retries` - number of retries (by default 3), * `factor` - The exponential factor to use. Default is 1.5. * `minTimeout` - The number of milliseconds before starting the first retry. Default is 150. * `maxTimeout` - The maximum number of milliseconds between two retries. Default is 10000. * `randomize` - Randomizes the timeouts by multiplying with a factor from 1 to 2. Default is false. * `defaultIgnoredSteps` - an array of steps to be ignored for retry. Includes: * `amOnPage` * `wait*` * `send*` * `execute*` * `run*` * `have*` * `ignoredSteps` - an array for custom steps to ignore on retry. Use it to append custom steps to ignored list. You can use step names or step prefixes ending with `*`. As such, `wait*` will match all steps starting with `wait`. To append your own steps to ignore list - copy and paste a default steps list. Regexp values are accepted as well. * `deferToScenarioRetries` - when enabled (default), step retries are automatically disabled if scenario retries are configured to avoid excessive total retries. #### Example ```js plugins: { retryFailedStep: { enabled: true, ignoredSteps: [ 'scroll*', // ignore all scroll steps /Cookie/, // ignore all steps with a Cookie in it (by regexp) ] } } ``` #### Disable Per Test This plugin can be disabled per test. In this case you will need to add `step.retry()` to all flaky steps: Use scenario configuration to disable plugin for a test ```js Scenario('scenario tite', { disableRetryFailedStep: true }, () => { // test goes here }) ``` ### Parameters * `config` &#x20;