Рераны автотестов в Test IT: запускаем на примере
В Test IT начиная с релиза 5.2 доступен ручной и автоматический перезапуск упавших автотестов — или, проще говоря, рераны. Эта функциональность экономит время команды, ускоряет релизы и помогает быстрее находить нестабильные тесты. Возможны два варианта: автоматический и ручной. Оба работают в рамках текущего прогона и не требуют дополнительных запусков с нуля.
Зачем это нужно команде и проекту
Автоматический реран запускается сразу после завершения прогона, если в нем есть упавшие тесты. Это дает сразу несколько выгод:
-
Сокращение метрики time-to-market. Повторные прогоны не требуют ручного вмешательства — всё происходит автоматически, что ускоряет цикл регрессии.
-
Экономия времени команды. Тестировщикам не нужно отслеживать падения и вручную перезапускать тесты.
-
Улучшение анализа стабильности. В истории результатов отображаются цепочки запусков одного и того же автотеста в рамках одного прогона — так называемый «биатлон». Это упрощает поиск флаков и других нестабильностей.
Как работают рераны в Test IT
Чтобы включить автоматический перезапуск, достаточно активировать соответствующую настройку и указать количество попыток — от 1 до 10. После завершения прогона Test IT автоматически перезапустит все автотесты со статусом «Провален» в рамках этого же прогона.
Автоматический реран сработает, если:
-
при запуске из тест-плана в проекте активен вебхук «Запуск автотестов»;
-
или при запуске из библиотеки автотестов выбран хотя бы один вебхук.
Результаты прогона агрегируются по последнему запуску каждого теста, но вся история попыток сохраняется и доступна в карточке результата — это удобно при разборе нестабильностей.
Кроме автоматических попыток, доступен ручной перезапуск. Можно выбрать любые завершенные тесты (кроме тех, что еще выполняются) и запустить их заново из интерфейса. Максимум — 10 ручных реранов на каждый результат.
Автоматический реран на практике
Допустим, в прогоне из 100 автотестов 7 завершились со статусом «Провален». Включен автоматический реран с тремя попытками. Что произойдет:
-
После завершения прогона Test IT автоматически запустит повторно только упавшие тесты.
-
Если часть из них снова не пройдет — начнется вторая попытка. Затем, при необходимости, третья.
-
Все перезапуски выполняются в рамках одного прогона и отображаются как «биатлон» — цепочка запусков одного автотеста.
Это позволяет быстро отследить, был ли сбой случайным или повторяется стабильно. Команда тратит меньше времени на рутинные действия, а анализ нестабильных тестов становится нагляднее и проще.
Как настроить автоматический реран: пошаговая инструкция
Шаг 1: Проливаем несколько автотестов в продукт
Для начала необходимо подготовить набор автотестов, которые будут использоваться для проверки функциональности продукта. Эти тесты должны быть загружены в библиотеку автотестов и готовы к запуску.

Шаг 2: Создаем вебхук на событие «запуск автотестов»
Вебхук — это механизм, который позволяет автоматически отправлять данные о событиях в продукте на внешний сервер. Создайте вебхук, который будет срабатывать при запуске автотестов. В вебхуке отправляйте стандартный контекст.

Шаг 3: Включаем перезапуск автотестов в настройках
В настройках продукта включите функцию перезапуска автотестов. Это позволит автоматически повторно запускать тесты, которые завершились с ошибкой.

Шаг 4: Запускаем тесты из библиотеки автотестов
Запустите тесты из библиотеки. После запуска прогона проверьте, что вебхук сработал и в нём содержатся имена всех запущенных тестов. Также убедитесь, что в системе появился новый тест-ран.


Шаг 5: Проставляем результаты автотестам
Проставьте результаты (это можно сделать как с помощью API, так и используя тестовые адаптеры). Например, один из тестов может быть упавшим. Это позволит проверить работу механизма перезапуска.

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

Шаг 7: Фильтрация тестов на стороне пайплайна
На стороне пайплайна реализуйте логику фильтрации запускаемых тестов по их именам. Это позволит перезапускать только те тесты, которые нуждаются в повторном прогоне.

👉 Подробнее о настройке автоматического перезапуска автотестов — в документации Test IT.
Что еще важно знать
Автоматический перезапуск упавших автотестов доступен на тарифах Standard (Cloud) и Enterprise (on-prem в Docker или K8S). Ручной реран доступен всем пользователям, независимо от тарифа. Для него достаточно открыть прогон, выбрать нужные тесты (кроме тех, что еще в процессе), и нажать кнопку «Перезапустить».
Мы уже работаем над улучшениями:
-
Cнятие ограничения на количество реранов.
-
Отображение времени прохождения каждой попытки.
-
Дополнительные настройки и гибкость.
Если у вас есть идеи, как сделать рераны еще удобнее — расскажите нам. Мы внимательно читаем обратную связь и улучшаем систему вместе с вами.