testplane-retry-command
Overview
Use the testplane-retry-command plugin to retry commands at low level.
Install
npm install -D testplane-retry-command
Setup
Add the plugin to the plugins section of the testplane config:
module.exports = {
plugins: {
"testplane-retry-command": {
enabled: true,
rules: [
{
condition: "blank-screenshot",
browsers: ["MicrosoftEdge"],
retryCount: 5,
retryInterval: 120,
},
{
condition: "assert-view-failed",
browsers: ["Chrome"],
retryCount: 1,
retryOnlyFirst: true,
},
],
},
// other Testplane plugins...
},
// other Testplane settings...
};
Description of configuration parameters
| Parameter | Type | Default value | Description |
| enabled | Boolean | true | Enable / disable the plugin. |
| rules | Array | N/A | A set of rules according to which commands will be retried. Required parameter. |
rules
The rules parameter is an array of objects. Each object describes a separate rule for retrying commands.
Parameters this rule consists of:
| Parameter | Type | Default value | Description |
| condition | String | N/A | Condition to retry: blank-screenshot or assert-view-failed. For more information, see below. |
| browsers | String/RegExp/Array | /.*/ | A list of browsers in which retries should run. |
| retryCount | Number | 2 | The number of retries. |
| retryInterval | Number | 100 | Delay before each retry, in ms. |
| retryOnlyFirst | Boolean | false | Retry only the first command in the test. This option is applied only at the assert-view-failed condition. |
condition
The condition under which you need to retry. There are 2 values available:
blank-screenshot— retry the low-level screenshot command takeScreenshot if an empty screenshot is returned as a result of the command;assert-view-failed— retry testplane's high-level command assertView to take a screenshot if it failed.
browsers
A list of browsers in which you need to apply low-level retries for commands. It can be set as a string (if it is one browser), a regular expression, or an array of strings/regular expressions. By default, the browsers parameter has the value /.*/, which all browsers fall under.
retryCount
The parameter determines how many times the command needs to be retried if the condition specified in the condition parameter is met.
retryInterval
The parameter specifies the time in milliseconds to wait before trying to repeat the command again.
Be careful when setting a value for this parameter, as too large a value can dramatically reduce the speed of your tests.
retryOnlyFirst
Allows to retry only the first assertView command in the test if the value is set to true. This parameter is not used for other conditions.
Passing parameters via the CLI
All plugin parameters that can be defined in the config can also be passed as command-line options or through environment variables during the launch of Testplane. Use the prefix --retry-command- for command line options and testplane_retry_command_ for environment variables. For example:
npx testplane --retry-command-count 3
testplane_retry_command_count=3 npx testplane