Документация TMS DoQAДокументация TMS DoQA
  • Проекты
  • Пространства
  • AI-функции
  • Автотесты
  • Тест-кейсы
  • Общие шаги
  • Чек-листы
  • Прогоны
  • История редактирования
  • История запуска
  • Баг-репорты
  • Комментарии
  • Папки
  • Фильтры
  • Теги
  • Корзина
  • Дашборд
  • Экспорт
  • Импорт
  • Публичный API
  • Атрибуты
  • Уведомления
  • Горячие клавиши
  • Создание проекта
  • Добавление пользователей
  • Редактирование пользователей
  • Сброс пароля
  • Уровень доступа для всех проектов
  • Права доступа к проекту
  • Права доступа к пространству и его разделам
  • Лицензии и оплата (облачная версия)
  • Атрибуты
  • Владелец системы
  • Интеграции с трекерами
  • Интеграции с CI/CD
  • Требования
  • Утилита управления сервером

    • Установка (install)
    • Запуск приложения (start)
    • Остановка приложения (stop)
    • Обновление (update)
    • Резервное копирование (backup)
    • Восстановление из резервной копии (restore)
    • Смена домена (domain)
    • Выпуск/обновление SSL-сертификата (cert)
  • Описание параметров среды (.env)
  • Настройка сервера почты
  • Авторизация через LDAP
  • Релизы облачной версии DoQA
  • Релизы серверной версии DoQA
Получить триал
  • Проекты
  • Пространства
  • AI-функции
  • Автотесты
  • Тест-кейсы
  • Общие шаги
  • Чек-листы
  • Прогоны
  • История редактирования
  • История запуска
  • Баг-репорты
  • Комментарии
  • Папки
  • Фильтры
  • Теги
  • Корзина
  • Дашборд
  • Экспорт
  • Импорт
  • Публичный API
  • Атрибуты
  • Уведомления
  • Горячие клавиши
  • Создание проекта
  • Добавление пользователей
  • Редактирование пользователей
  • Сброс пароля
  • Уровень доступа для всех проектов
  • Права доступа к проекту
  • Права доступа к пространству и его разделам
  • Лицензии и оплата (облачная версия)
  • Атрибуты
  • Владелец системы
  • Интеграции с трекерами
  • Интеграции с CI/CD
  • Требования
  • Утилита управления сервером

    • Установка (install)
    • Запуск приложения (start)
    • Остановка приложения (stop)
    • Обновление (update)
    • Резервное копирование (backup)
    • Восстановление из резервной копии (restore)
    • Смена домена (domain)
    • Выпуск/обновление SSL-сертификата (cert)
  • Описание параметров среды (.env)
  • Настройка сервера почты
  • Авторизация через LDAP
  • Релизы облачной версии DoQA
  • Релизы серверной версии DoQA
Получить триал
  • Руководство пользователя

    • Проекты
    • Пространства
    • AI-функции
    • Автотесты
    • Тест-кейсы
    • Общие шаги
    • Чек-листы
    • Прогоны
    • История редактирования
    • История запуска
    • Баг-репорты
    • Комментарии
    • Папки
    • Фильтры
    • Теги
    • Корзина
    • Дашборд
    • Экспорт
    • Импорт
    • Публичный API
    • Атрибуты
    • Уведомления
    • Горячие клавиши

Автотесты

В релизе DoQA 4.0 мы превратили систему в единый центр управления качеством: теперь результаты ваших автоматизированных проверок, ручные тест-кейсы и пайплайны CI/CD работают в единой связке.

Основные возможности:

  • Гибкий импорт: Загружайте отчеты (JUnit XML, Allure) вручную через интерфейс приложения или через консольную утилиту doqa-cli.

  • Синхронизация: Автоматически связывайте автотесты с ручными кейсами через Allure ID.

  • Интеграция с CI/CD через консольную утилиту: Встраивайте отправку результатов прямо в ваши пайплайны.

  • Управление из интерфейса: Запускайте связанные автотесты и пайплайны GitLab прямо из TMS и отслеживайте результаты в реальном времени.

Автотесты регистрируются в DoQA при загрузке отчетов любым из вышеперечисленных способов. При этом, регистрируются только автотесты с уникальными именами, которые ранее не были загружены в систему. Добавить автотест в систему "вручную" нельзя.

При смене имени тестового метода в репозитории, для DoQA он будет уже новым автотестом.

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


Содержание:

Загрузка результатов автотестов через интерфейс

Использование CLI для локальной отправки результатов автотестов

Использование CLI в CI/CD пайплайнах

Связывание автотестов с тест-кейсами

Настройка интеграции с GitLab CI/CD

Запуск автотестов из плеера прогонов

Загрузка результатов автотестов через API

Создание API токена для загрузки результатов автотестов в DoQA


Загрузка результатов автотестов через интерфейс

Если у вас есть готовый артефакт с результатами автотестов, вы можете импортировать его напрямую.

Поддерживаемые форматы:

  • JUnit XML (одиночные файлы или архив с несколькими файлами),
  • Allure (сырые данные в json-формате, помещенные в архив).

Как это работает: Вы выбираете файл, и система автоматически создает на его основе новый прогон.

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

прогон из отчета

Использование CLI для локальной отправки результатов автотестов

Утилита командной строки doqa-cli позволяет отправлять результаты без открытия браузера. Это удобно, если вы запускаете тесты локально в IDE или на удаленном сервере.

Поддерживаемые форматы:

  • JUnit XML (одиночные файлы или архив с несколькими файлами),
  • Allure (сырые данные в json-формате, помещенные в архив).

Механика: Утилита упаковывает результаты и отправляет их в API TMS.

Результат: Аналогично ручной загрузке, в системе создается новый прогон со всеми деталями выполнения.

Скачивание doqa-cli

  • Скачать doqa-cli для Linux
  • Скачать doqa-cli для Windows

Использование doqa-cli

Для отправки отчета используйте следующую команду:

doqa-cli report [url + /api/autotests/report] [spaceId] [token] [file] [type]
  • doqa-cli: имя утилиты.

  • report: команда для загрузки результатов прогона автотестов.

  • [url]: URL-адрес сервера для отправки отчета.

  • [spaceId]: ID пространства в DoQA.

    • Как узнать ID пространства: Откройте нужное пространство в браузере. В адресе страницы .../detail/1/2/cases второе число (2) — это ID пространства.
  • [token]: API-токен DoQA для доступа к серверу. Токен создается на уровне проекта DoQA и позволяет загружать отчеты в любое пространство внутри данного проекта. Подробнее о создании токена

  • [file]: Путь к файлу, содержащему отчет.

  • [type]: Формат отчета. Используйте значение "allure" или "junit"

Пример команды для загрузки отчета формата JUnit XML

doqa-cli report https://example.doqa.app/api/autotests/report 2 abc123 /path/to/junit.xml junit

Эта команда отправит отчет на https://example.doqa.app/api/autotests/report в пространство с ID=2 с использованием токена abc123, используя данные из файла /path/to/junit.xml.

Пример команды для загрузки отчета формата Allure

doqa-cli report https://example.doqa.app/api/autotests/report 2 abc123 /path/to/allure-report.zip allure

Эта команда отправит отчет на https://example.doqa.app/api/autotests/report в пространство с ID=2 с использованием токена abc123, используя данные из архива /path/to/allure-report.zip.

Примечание

До версии DoQA 4.0 загрузка результатов автотестов осуществлялась в формате отчета, сформированного командой allure-report. Начиная с версии 4.0 процесс подготовки артефакта для загрузки в TMS стал проще. Теперь DoQA обрабатывает только сырые данные Allure (сформированная тестовым фреймворком папка, содержащая result.json и другие файлы). Достаточно поместить папку с сырыми данными в .zip архив, дополнительные действия с данными не требуются.

Использование CLI в CI/CD пайплайнах

Автоматизируйте отправку отчетов об автотестах в DoQA, установив doqa-cli в ваш инструмент CI/CD (GitLab, Jenkins и др.).

Скачивание doqa-cli:

  • Скачать doqa-cli для Linux
  • Скачать doqa-cli для Windows

Настройка CI/CD

Для работы утилиты doqa-cli необходимо настроить передачу данных между вашей CI-системой и DoQA.

1. Переменные окружения (Secrets)

Создайте следующие переменные в настройках вашего CI/CD (например, Settings > CI/CD > Variables в GitLab или Actions Secrets в GitHub). Рекомендуется использовать режим маскирования (Masked) для токена.

  • DOQA_ENDPOINT — адрес вашего экземпляра DoQA.

    • Пример: https://company.doqa.app
  • DOQA_TOKEN - API-токен DoQA. Инструкция по созданию токена

  • DOQA_SPACE_ID - идентификатор пространства внутри проекта.

    • Как узнать ID пространства: Откройте нужное пространство в браузере. В адресе страницы .../detail/1/2/cases второе число (2) — это ID пространства.

2. Конфигурация пайплайна

Добавьте в конфигурационный файл вашего репозитория (например, .gitlab-ci.yml, Jenkinsfile или .github/workflows/*.yml) следующие переменные. Это свяжет запуск в CI с конкретным пайплайном в DoQA:

ПеременнаяЗначение (для GitLab CI)Описание
DOQA_PIPELINE_ID$CI_PIPELINE_IDУникальный ID текущего запуска
CI_PROJECT_ID$CI_PROJECT_IDID проекта в вашей CI-системе
CI_BRANCH$CI_COMMIT_REF_NAMEНазвание ветки, в которой запущен тест

Команда watch

Команда watch предназначена для автоматического отслеживания процесса тестирования. Она запускает вашу тестовую команду, перехватывает результаты (например, отчеты JUnit или Allure) и мгновенно передает их в DoQA.

Как это работает:

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

Синтаксис:

./doqa-cli watch -- [команда запуска ваших тестов]

Всё, что идет после двойного тире (--), воспринимается утилитой как исходная команда для запуска тестов.

Пример настройки для Java (Maven) Ниже приведен пример конфигурации этапа тестирования в файле .gitlab-ci.yml. В этом сценарии мы используем Maven и стандартный вывод результатов в директорию allure-results.

test_ui:
  stage: test
  before_script:
    # 1. Скачиваем актуальную версию утилиты
    - curl -fsSL https://doqa.app/downloads/doqa-cli -o doqa-cli
    # 2. Даем права на выполнение
    - chmod +x doqa-cli
  script:
    # 3. Запускаем тесты через watch
    - ./doqa-cli watch -- mvn -B -Dallure.results.directory=allure-results test
  artifacts:
    when: always
    paths:
      - allure-results
      - target/surefire-reports/junitreports/
    reports:
      junit:
        - target/surefire-reports/junitreports/TEST-*.xml
    expire_in: 1 week

Разбор ключевых моментов:

  • Двойное тире (--): это обязательный разделитель. Он указывает утилите, что настройки самой doqa-cli закончились и дальше начинается ваша привычная команда (в примере: mvn ... test).

  • Потоковая передача: как только очередной автотест завершается и файл с результатом появляется в файловой системе, watch обнаруживает его и отправляет в DoQA. В интерфейсе системы вы увидите прогресс в реальном времени.

  • Обработка ошибок: если ваши тесты упадут с ошибкой, watch корректно завершит работу и передаст код выхода (exit code) обратно в CI/CD, чтобы пайплайн пометился как «failed».

  • Артефакты: использование watch не отменяет необходимость сохранения артефактов в самом CI/CD (секция artifacts). Это полезно для хранения логов и тяжелых скриншотов внутри вашей инфраструктуры.

  • Формат отчета: если ваш фреймворк формирует отчеты сразу в двух форматах Junit XML и Allure, то по умолчанию doqa-cli будет использовать Allure.

Совет: Убедитесь, что ваш тестовый фреймворк (TestNG или JUnit) настроен на генерацию отчетов в процессе выполнения, а не только в самом конце. Это обеспечит максимальную плавность отображения прогресса в DoQA.

Команда report

Команда report используется в тех случаях, когда вам не требуется отслеживание тестов в реальном времени, или если ваша инфраструктура накладывает ограничения на использование watch. Она загружает уже готовый сформированный архив или файл с результатами после того, как выполнение всех тестов полностью завершено.

Использование команды:

В отличие от watch, команда report запускается как отдельный шаг после выполнения тестов. Она берет готовый отчет и в один присест отправляет его в DoQA.

Синтаксис:

./doqa-cli report [url] [spaceId] [token] [file] [type]

Описание аргументов:

  • url: Полный адрес API вашего экземпляра (например, https://example.doqa.app/api/autotests/report)). Рекомендуется использовать переменную $DOQA_ENDPOINT/api/autotests/report.

  • spaceId: ID пространства, в которое загружаются результаты.

    • Как узнать ID пространства: Откройте нужное пространство в браузере. В адресе страницы .../detail/1/2/cases второе число (2) — это ID пространства.
  • token: API-токен DoQA. Инструкция по созданию токена

  • file: Путь к файлу отчета (XML-файл JUnit или ZIP-архив с результатами Allure).

  • type: Формат отчета. Допустимые значения: junit или allure.

Пример настройки в .gitlab-ci.yml

test_ui:
  stage: test
  script:
    # 1. Запуск тестов (генерация allure-results)
    - mvn test -Dallure.results.directory=allure-results
  after_script:
    # 2. Установка необходимых утилит (zip и curl)
    - apt-get update && apt-get install -y zip curl
    
    # 3. Скачивание doqa-test-cli
    - curl -fsSL https://doqa.app/downloads/doqa-cli -o doqa-cli
    - chmod +x doqa-cli
    
    # 4. Упаковка результатов в архив
    - zip -r allure-results.zip allure-results
    
    # 5. Отправка отчета в DoQA
    - ./doqa-cli report "$DOQA_ENDPOINT/api/autotests/report" "$DOQA_SPACE_ID" "$DOQA_TOKEN" "allure-results.zip" allure
  artifacts:
    when: always
    paths:
      - allure-results/
      - allure-results.zip
    expire_in: 1 week

Связывание автотестов с тест-кейсами

При загрузке в DoQA результатов автотестов любым из перечисленных способов, система сопоставит помеченные аннотацией Allure ID автотесты из отчета c ручными тест-кейсами в DoQA. Если указанный ID тест-кейса существует в данном пространстве DoQA, то будет автоматически создана связь между автотестом и тест-кейсом. Как только связь установлена, ручной тест-кейс получает признак «Статус автоматизации: автоматизирован». Это помогает понять, какие ручные тесты уже покрыты автотестами. Данную связь можно разорвать вручную, выбрав другой статус автоматизации в редакторе тест-кейса.

Примечание

Если автотест уже был связан с тест-кейсом, но в очередном отчете он получил связь через Allure ID с другим тест-кейсом, старая связь разорвется и будет создана новая.

статусы автоматизации

Для того, чтобы пометить тест-кейсы, которые должны быть автоматизированы, измените их "Статус автоматизации" на "Подлежит автоматизации" через редактор тест-кейса.

Запуск автотестов из плеера прогонов

Вам не нужно заходить в GitLab, чтобы запустить связанные автотесты.

Внутри прогона можно выбрать конкретные автотесты и запустить их в CI/CD. В результате будет создан новый пайплайн, в котором запустятся только выбранные автотесты.

Если на момент запуска автотестов из прогона не было отмечено ни одного чек-бокса связанных автотестов, будут запущены все связанные автотесты из прогона.

запуск тестов

Сиротские автотесты, не имеющие связь с ручными тест-кейсами через Allure ID, не могут быть запущены из прогона.

Загрузка результатов автотестов через API

Для работы с API необходимо получить токен авторизации. Для этого используйте логин и пароль вашей учетной записи.

Воспользуйтесь API POST /api/autotests/report.

В поле token (цифра 1) вставьте API-токен, созданный в DoQA, выберите формат Junit XML или Allure (цифра 2), выберите файл (цифра 3), опционально введите имя прогона (цифра 4) и укажите ID пространства DoQA (цифра 5), после чего подтвердите отправку запроса.

загрузка через api

Отчет о прохождении прогона автотестов будет загружен в DoQA и отобразится в виде нового прогона.

Примечание

Как узнать ID пространства: Откройте нужное пространство в браузере. В адресе страницы .../detail/1/2/cases второе число (2) — это ID пространства.

Создание API токена для загрузки результатов автотестов в DoQA

Перейдите в настройки администратора - раздел "Проекты". Выберите проект из списка и откройте вкладку API-токены. Создайте токен, который сможете использовать для загрузки отчетов об автотестах в DoQA. Токен позволяет загружать результаты автотестов во все пространства проекта.

создание токена

Prev
AI-функции
Next
Тест-кейсы