Автотесты падают, а разбор занимает время: нужно открыть отчёт в системе управления тестами, понять причину падения, залезть в репозиторий, найти нужный тест и решить, где ошибка: в самом тесте или в приложении. Veai умеет забирать эту рутину на себя. Агент подключается к TMS (Test Management System), читает данные о падении по ссылке и предлагает правку прямо в открытом проекте.
В статье разберём, что такое TMS в контексте Veai, как подключить Allure TestOps и Test IT, и как агент разбирает причину падения автотеста: от инфраструктуры до флаков.
Коротко
-
TMS в Veai поддерживает две системы: Allure TestOps и Test IT.
-
Подключение настраивается один раз: Url проекта + Private Token + Verify Setup.
-
Сценарий «Исправление упавшего теста из TMS» забирает ссылку на упавший прогон, разбирает причину и предлагает правку автотеста или тикет разработчику.
-
Агент помогает отделить причину: инфраструктура, код приложения или сам тест, и учитывает историю флаков из TMS.
-
Агент работает и с одним тестом, и с целым прогоном, а не только с отдельным падением.
-
Работает по одному сценарию для обеих систем: меняется только источник, к которому вы подключились.
Статью подготовила техническая команда Veai, ex JetBrains и Huawei, мы делаем ИИ-агента для IDE. Описанные шаги и сценарий взяты из нашей документации.
Что такое TMS
TMS (Test Management System) хранит тестовые сценарии, планы и отчёты в одном месте, вместо разрозненных таблиц и заметок. Это централизованное хранилище тестовых артефактов: кейсы, прогоны, результаты, история падений.
Veai поддерживает две системы:
-
Allure TestOps (проекты на домене
.qatools.cloud); -
Test IT (проекты на домене
.testit.software).
Смысл интеграции в том, что агент видит не только код в IDE, но и контекст падения из TMS. Он берёт данные конкретного упавшего прогона, сопоставляет их с автотестами в открытом репозитории и предлагает исправление. Если проблема не в тесте, а в тестируемом приложении, агент предложит завести тикет для разработчика.
Подключение Allure TestOps
Подключение настраивается один раз в настройках IDE.
-
Откройте настройки IDE → Veai → Allure TestOps.
-
В браузере откройте свой проект в Allure TestOps и скопируйте ссылку на проект (она заканчивается на
.qatools.cloud). -
В настройках IDE вставьте ссылку в поле Url.
-
В Allure TestOps нажмите на иконку профиля в правом верхнем углу, выберите API tokens, нажмите + Token, введите имя токена (например,
Veai plugin), нажмите Create, скопируйте полученный токен и нажмите Done. -
В настройках IDE вставьте токен в поле Private Token.
-
Нажмите Verify Setup.
(Место для скриншота: окно настроек IDE → Veai → Allure TestOps с заполненными полями Url и Private Token, кнопка Verify Setup.)
Если появилась надпись «Success! Setup is valid», нажмите OK: подключение готово. Если видите ошибку, сверьтесь с документацией Allure TestOps и напишите в поддержку: support@veai.ru.
Подключение Test IT
Логика та же, отличаются домен проекта и путь к токену.
-
Откройте настройки IDE → Veai → Test IT.
-
В браузере откройте свой проект в Test IT и скопируйте ссылку на проект (она заканчивается на
.testit.software). -
В настройках IDE вставьте ссылку в поле Url.
-
В Test IT нажмите на иконку профиля в правом верхнем углу, выберите Настройки профиля → API-токены, введите имя токена (например,
Veai plugin), нажмите Сгенерировать, скопируйте токен и нажмите Done. -
В настройках IDE вставьте токен в поле Private Token.
-
Нажмите Verify Setup.
(Место для скриншота: окно настроек IDE → Veai → Test IT с заполненными полями Url и Private Token, кнопка Verify Setup.)
При надписи «Success! Setup is valid» нажмите OK. При ошибке сверьтесь с документацией Test IT и напишите в поддержку: support@veai.ru.
Исправление упавшего автотеста
Сценарий одинаковый для обеих систем. Разница только в том, к какой TMS вы подключились на предыдущем шаге.
-
Убедитесь, что подключение к Allure TestOps или Test IT настроено (см. разделы выше).
-
Откройте репозиторий с автотестами в IDE: агент работает с кодом, который у вас перед глазами.
-
Создайте новый чат кнопкой + New Chat в правом верхнем углу панели Veai.
-
Нажмите на «Исправление упавшего теста из TMS».
-
В браузере откройте упавший автотест и скопируйте ссылку на него.
-
Вставьте ссылку в окно агента и отправьте.
(Место для скриншота: чат Veai со вставленной ссылкой на упавший автотест и ответом агента с разбором причины.)
Дальше агент:
-
анализирует данные о падении из TMS;
-
сопоставляет их с автотестами в открытом репозитории;
-
находит причину;
-
предлагает исправление автотеста либо, если дело в тестируемом приложении, предлагает создать тикет для разработчика.
Решение всегда за вами: агент готовит разбор и правку, а применять её или нет решаете вы.
Один тест или весь прогон
В реальном прогоне падает не один тест. Из тысяч автотестов красными могут стать сотни, и вручную разбирать каждый никто не будет: часть падений инфраструктурные, часть тянется от одной общей причины.
Поэтому агент работает не только с одним тестом, но и с целым прогоном: вы отдаёте ссылку на прогон, а не собираете ссылки на каждое падение по отдельности. Это ближе к тому, как QA-инженер разбирает результаты ночного запуска: сначала смотрит на прогон целиком, а потом идёт в конкретные тесты.
Где ошибка: инфра, код или тест
Первый вопрос при разборе падения: где корень проблемы. Вариантов три:
-
инфраструктура (стенд недоступен, таймауты, внешний сервис лёг);
-
код приложения (тест честно поймал регресс);
-
сам тест (устарели локаторы, изменилась текстовка, флаки).
Агент помогает отделить эти случаи друг от друга. Если дело в тесте, он предлагает правку. Если тест честно поймал ошибку в приложении, предлагает завести тикет для разработчика, а не подгонять зелёный статус. Это важно: автоправка теста под сломанное поведение маскирует реальный баг.
Частый случай: в тест-кейсе описано старое поведение, потому что документацию редко обновляют вовремя. Агент смотрит не только на лог падения, но и на связанный тест-кейс в TMS, поэтому может подсветить такое расхождение.
Например, после редизайна формы UI текст кнопки поменялся, а старый тест-кейс в TMS всё ещё ссылается на старую формулировку. Автотест падает по текстовому локатору, хотя приложение работает корректно. Связанный тест-кейс в TMS помогает увидеть такое расхождение быстрее, чем при разборе только по логам.
Флаки: причина, а не симптом
Самое неприятное в автотестах не разовое падение, а нестабильный тест, который то проходит, то падает. Закрыть его одним рераном значит вернуться к нему через неделю.
TMS хранит историю прогонов, поэтому видно, какой тест флакает чаще всего. На этих данных агент ищет вероятную причину нестабильности: неатомарный тест, гонка состояний, долгое ожидание элемента, и предлагает вариант переписать его устойчиво, а не глушить симптом повторным запуском. Финальное решение, как и в других сценариях, остаётся за инженером.
Как это выглядит на практике
Типичный рабочий цикл выглядит так. Ночной прогон подсветил красные тесты в TMS. Вместо ручного разбора вы открываете проект в IDE, запускаете сценарий исправления, вставляете ссылку на упавший прогон и получаете разбор: что сломалось и какое исправление предлагает агент. Решение остаётся за вами, но подготовительная работа (сбор контекста падения, поиск теста в коде, гипотеза о причине) уже сделана.
Агент опирается на источник фактов: не только на текст ошибки, но и на данные прогона из TMS плюс реальный код в репозитории.
Источники (документация Veai):
-
Как подключить Allure TestOps: https://veai.ru/docs/veai/help/TMS/add_allure_tms_to_veai
-
Как исправить падающий автотест из Allure TestOps: https://veai.ru/docs/veai/help/TMS/allure_veai_fix_test
-
Как подключить Test IT: https://veai.ru/docs/veai/help/TMS/testit_veai_init
-
Как исправить падающий автотест из Test IT: https://veai.ru/docs/veai/help/TMS/testit_veai_fix_test
-
Раздел TMS: https://veai.ru/docs/category/tms
ссылка на оригинал статьи https://habr.com/ru/articles/1056438/