Используйте плагин @testplane/retry-command
, чтобы ретраить отдельные команды на низком уровне.
npm install -D @testplane/retry-command
Необходимо подключить плагин в разделе plugins
конфига testplane
:
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
}
]
},
// другие плагины testplane...
},
// другие настройки testplane...
}
Параметр | Тип | По умолчанию | Описание |
---|---|---|---|
enabled | Boolean | true | Включить / отключить плагин. |
rules | Array | N/A | Набор правил, в соответствии с которыми команды будут ретраиться. Обязательный параметр. |
Параметр rules
представляет собой массив объектов. Каждый объект описывает отдельное правило для ретрая команд.
Из каких параметров состоит это правило:
Параметр | Тип | По умолчанию | Описание |
---|---|---|---|
condition | String | N/A | Условие для ретрая: blank-screenshot или assert-view-failed. Подробнее см. ниже. |
browsers | String/RegExp/Array | /.*/ | Список браузеров, в которых нужно применять ретраи. |
retryCount | Number | 2 | Количество ретраев. |
retryInterval | Number | 100 | Задержка перед каждым ретраем, в мс. |
retryOnlyFirst | Boolean | false | Ретраить только первую команду в тесте. Опция актуальна только для условия assert-view-failed. |
Условие, при котором нужно ретраить. Всего доступны 2 значения:
blank-screenshot
— ретраить низкоуровневую команду снятия скриншота takeScreenshot, если в результате команды вернулся пустой скриншот;assert-view-failed
— ретраить высокоуровневую команду testplane для снятия скриншотаassertView
, если она упала.
Список браузеров, в которых нужно применять низкоуровневые ретраи для команд. Можно задавать как строку (если это один браузер), регулярное выражение или массив строк или регулярных выражений. По умолчанию, параметр browsers
имеет значение /.*/
, под которое попадают все браузеры.
Параметр определяет сколько раз нужно ретраить команду, если соблюдено условие, заданное в параметре condition
.
Параметр задает время в миллисекундах, которое надо подождать, прежде чем попытаться снова повторить команду.
Будьте осторожны, устанавливая значение для данного параметра, так как слишком большое значение может драматически снизить скорость ваших тестов.
Разрешает ретраить только первую команду assertView
в тесте, если установлено значение true
. Для других условий этот параметр не используется.