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