Тема
Автотесты
Автотест появляется в DoQA только тогда, когда в систему приходят результаты его выполнения, — добавить его вручную нельзя. Базовые понятия — на этой странице. Практические руководства — в карте раздела.
Что такое автотест
Автотест в DoQA представлен в двух местах:
- Каталог автотестов — реестр всех автотестов пространства: раздел «Автотесты» в меню пространства, вкладки «Все автотесты» и «Кластеры ошибок». Здесь у автотеста есть карточка с историей, показателями стабильности и привязками — см. Каталог автотестов.
- Прогоны — результаты каждого выполнения. Они попадают в обычные прогоны рядом с ручными тест-кейсами; разбор результата — Результаты и разбор падений.
Запись в каталоге создаётся автоматически при первом результате и дальше накапливает историю: сколько раз тест прошёл и упал, насколько он стабилен, откуда запускался.
Внешний ID
Основной идентификатор автотеста — внешний ID (externalId). Он уникален в пределах пространства и задаётся в коде теста:
- в адаптере тестового фреймворка — его разметкой: у каждого адаптера она своя, см. страницу нужного адаптера;
- в Allure-отчёте — меткой
doqa_id; - в JUnit XML — свойством
<property name="doqa_id" value="..."/>.
Если явного ID нет, адаптер выводит его сам по строгому приоритету:
- маркер в имени теста:
[DOQA-123]или@DOQA:123в display name; - совместимый ID из Allure-разметки, если она есть в проекте, — Переезд с Allure;
- детерминированный хэш полного имени теста — стабилен, пока тест не переименован и не перенесён в другой класс или модуль.
Если внешний ID не передан вовсе, DoQA опознаёт автотест по полному имени. Это работает, но хрупко: при переименовании теста для DoQA это будет новый автотест без накопленной истории. С внешним ID переименование безопасно: история, стабильность и привязки остаются у той же записи каталога.
Задавайте внешний ID явно
Явный внешний ID — единственный способ сохранить историю автотеста при переименовании теста и переносе его в другой класс или модуль. Для новых проектов задавайте его с первого дня.
Переход на внешний ID
Если автотест раньше отчитывался без внешнего ID, а затем стал присылать его, вторая запись в каталоге не создаётся. DoQA находит существующий автотест по имени и записывает ему присланный внешний ID. Накопленная история переходит к новому ключу. Если у найденного по имени автотеста уже записан другой внешний ID, ключ не перезаписывается: результаты продолжают попадать в существующую запись со старым ключом.
Как результаты попадают в DoQA
| Способ | Когда подходит | Подробнее |
|---|---|---|
| Адаптер тестового фреймворка | рекомендуемый способ: библиотека в тестовом проекте отправляет результаты в реальном времени, с шагами, вложениями и метками, без файлов отчётов | Адаптеры для тестовых фреймворков |
| Собственный адаптер | готового адаптера под ваш язык или фреймворк нет — прямое API /api/autotests/* | Autotest API |
| Запуск из DoQA | DoQA сама запускает пайплайн в подключённой CI-системе. Результаты попадают в прогон по ходу или по завершении пайплайна, смотря как пайплайн их отправляет | Запуск автотестов из DoQA |
Утилита doqactl | нет адаптера под фреймворк или нужно отправлять результаты без правки проекта тестов | Утилита doqactl |
| Загрузка отчёта в интерфейсе | разовая выгрузка готового отчёта JUnit XML или Allure — DoQA создаёт прогон с результатами | Отправка результатов автотестов |
POST /api/autotests/report | тот же приём отчёта по HTTP, без утилиты | там же |
Способы можно совмещать: например, ежедневные запуски идут из DoQA по расписанию через адаптер, а разовые локальные прогоны разработчики отправляют вручную. Результаты в любом случае попадут в один и тот же автотест каталога: идентичность определяет внешний ID, а не способ доставки.
Связь с тест-кейсами
Связь автотеста с ручным тест-кейсом показывает, что кейс покрыт автоматизацией. Один автотест может покрывать несколько тест-кейсов; у тест-кейса — не больше одного автотеста.
Способы привязки:
| Способ | Откуда задаётся | Поведение |
|---|---|---|
| Список кейсов | метка doqa_cases в отчёте, разметка адаптера или поле caseIds в Autotest API — ID нескольких кейсов | аддитивно: прежние связи не снимаются |
| Allure ID | метка as_id в отчёте, её проставляет Allure-разметка — ID одного кейса | связь один-к-одному: прежние связи этого автотеста снимаются |
| Вручную из каталога | действие «Привязать кейс» в каталоге автотестов: выберите один автотест и отметьте кейсы в диалоге | аддитивно |
Кейс во всех способах указывается числовым ID — тем, что показан в колонке «ID» таблицы кейсов. Отдельного «кода» у тест-кейса нет. Подробнее о разметке Allure — Переезд с Allure.
Тест-кейсы при привязке не создаются: если кейса с присланным ID в пространстве нет, привязка молча пропускается. Автотест без привязанного кейса помечается в каталоге как «Без связи с кейсами». Для таких есть отдельный чип и фильтр.
Статус автоматизации
У тест-кейса три значения «Статуса автоматизации»:
- «Ручной»;
- «Подлежит автоматизации» — пометка о том, что тест-кейс планируется автоматизировать;
- «Автоматизирован» — тест-кейс связан с автотестом.
«Автоматизирован» проставляет система при появлении связи, вручную выбрать это значение нельзя. Чтобы разорвать связь, выберите в редакторе тест-кейса «Ручной» или «Подлежит автоматизации».
Что рвёт связь
Смена «Статуса автоматизации» на любое другое значение рвёт связь тест-кейса с автотестом. Копия тест-кейса связь не наследует: у копии связи с автотестом нет.

Связь с требованиями
Автотест можно привязать к требованию наравне с тест-кейсом и чек-листом: такая связь равноправно участвует в покрытии требования. Привязка делается из панели «Автотесты» в раскрытой строке требования или из меню строки в каталоге автотестов. При удалении автотеста его связи с требованиями снимаются автоматически.
Страницы раздела
- Отправка результатов автотестов — загрузка отчёта в интерфейсе, форматы JUnit XML и Allure, утилита doqactl,
POST /api/autotests/report. - Адаптеры для тестовых фреймворков — что даёт адаптер по сравнению с отчётами, какие платформы поддержаны и отдельные руководства по каждому адаптеру: установка, конфигурация, разметка.
- Переезд с Allure — что подхватывается из Allure-разметки без правок кода и как переехать на разметку DoQA.
- Плагины для IDE — статусы автотестов прямо в редакторе IntelliJ IDEA, PyCharm и VS Code, привязка кейсов, закрепление внешнего ID, история прогонов и карантин без перехода в браузер.
- Autotest API — прямое API для собственных адаптеров и интеграций.
- Каталог автотестов — вкладка «Все автотесты»: сводка над таблицей, фильтры, карточка автотеста, массовые действия.
- Подключение CI-систем — CI-подключения на уровне пространства, провайдеры, привязка проектов.
- Запуск автотестов из DoQA — все способы запуска, выбор тестов пайплайном, жизненный цикл запуска.
- Автоматика запусков — расписания, автоматический перезапуск упавших, критерии приёмки прогона.
- Результаты и разбор падений — карточка результата, кластеры ошибок, сравнение прогонов, аналитика.
Смотрите также
- Первый прогон автотестов — сценарий: от пустого пространства до первого прогона с результатами
- Разбор упавших автотестов — сценарий ежедневного разбора падений
- Публичный API — остальные методы API и доступ к справочнику
- Интеграции с CI/CD — подключения CI на уровне тенанта (для администратора)