Перейти к основному содержимому

@testplane/retry-command

Обзор​

Используйте плагин @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...
};

Расшифровка параметров конфигурации​

ПараметрТипПо умолчаниюОписание
enabledBooleantrueВключить / отключить плагин.
rulesArrayN/AНабор правил, в соответствии с которыми команды будут ретраиться. Обязательный параметр.

rules​

Параметр rules представляет собой массив объектов. Каждый объект описывает отдельное правило для ретрая команд.

Из каких параметров состоит это правило:

ПараметрТипПо умолчаниюОписание
conditionStringN/AУсловие для ретрая: blank-screenshot или assert-view-failed. Подробнее см. ниже.
browsersString/RegExp/Array/.*/Список браузеров, в которых нужно применять ретраи.
retryCountNumber2Количество ретраев.
retryIntervalNumber100Задержка перед каждым ретраем, в мс.
retryOnlyFirstBooleanfalseРетраить только первую команду в тесте. Опция актуальна только для условия assert-view-failed.

condition​

Условие, при котором нужно ретраить. Всего доступны 2 значения:

  • blank-screenshot — ретраить низкоуровневую команду снятия скриншота takeScreenshot, если в результате команды вернулся пустой скриншот;
  • assert-view-failed — ретраить высокоуровневую команду testplane для снятия скриншота assertView, если она упала.

browsers​

Список браузеров, в которых нужно применять низкоуровневые ретраи для команд. Можно задавать как строку (если это один браузер), регулярное выражение или массив строк или регулярных выражений. По умолчанию, параметр browsers имеет значение /.*/, под которое попадают все браузеры.

retryCount​

Параметр определяет сколько раз нужно ретраить команду, если соблюдено условие, заданное в параметре condition.

retryInterval​

Параметр задает время в миллисекундах, которое надо подождать, прежде чем попытаться снова повторить команду.

warning

Будьте осторожны, устанавливая значение для данного параметра, так как слишком большое значение может драматически снизить скорость ваших тестов.

retryOnlyFirst​

Разрешает ретраить только первую команду assertView в тесте, если установлено значение true. Для других условий этот параметр не используется.

Передача параметров через CLI​

Все параметры плагина, которые можно определить в конфиге, можно также передать в виде опций командной строки или через переменные окружения во время запуска testplane. Используйте префикс --retry-command- для опций командной строки и testplane_retry_command_ — для переменных окружения. Например:

npx testplane --retry-command-count 3
testplane_retry_command_count=3 npx testplane