Адаптеры автотестов

Официальные адаптеры привязывают автотесты к кейсам Tracera и отправляют результаты.

Перед началом

  1. URL установки (TRACERA_BASE_URL).
  2. Токен автотеста проекта (TRACERA_AUTOTEST_TOKEN) — Настройки проекта → Автотест (см. Токены).
  3. Id проекта (TRACERA_PROJECT_ID).
  4. Id тест-кейса (testCaseId) с карточки кейса.

Требования

Проверено на:

  • Node.js 22.19–26.12 (все JS-адаптеры).
  • Python 3.11–3.15 (все Python-адаптеры).
  • JDK 17–27 (все JVM-адаптеры).
  • .NET 8–10 (все .NET-адаптеры).
  • Go 1.25–1.27 (все Go-адаптеры).
  • Dart 3.8–3.13 (все Dart-адаптеры).
  • Swift 6–6.4 (macOS 15–27 / Xcode 16–27; все Swift-адаптеры).

Окружение

Адаптер берёт каждую переменную сначала из окружения процесса. Если ключа TRACERA_* нет или он пустой — заполняет его из ближайшего файла .env: рабочая директория и родители (не домашняя папка). Остальные ключи в файле игнорируются. Непустое значение из окружения процесса побеждает .env.

ПеременнаяОбязательноОписание
TRACERA_BASE_URLдаURL установки
TRACERA_AUTOTEST_TOKENдаТокен автотеста проекта
TRACERA_PROJECT_IDдаId проекта
TRACERA_TEST_RUN_IDнетОтправка результатов в существующий прогон (без завершения). Без id — создать новый прогон
TRACERA_RUN_TITLEнетЗаголовок создаваемого прогона (≤128). Только при создании прогона; при TRACERA_TEST_RUN_ID игнорируется
TRACERA_REQUIRE_REPORTнетПо умолчанию false; true → упасть, если не удалось создать прогон или отправить результаты
TRACERA_LOG_LEVELнетerror, warn, info (по умолчанию), debug

Режим прогона

  • Без TRACERA_TEST_RUN_ID — адаптер создаёт пустой прогон, пишет в него результаты и завершает этот прогон, когда автотесты закончатся.
  • С TRACERA_TEST_RUN_ID — только отправка результатов в указанный прогон; адаптер его не завершает.

Чтобы стартовать CI из интерфейса при запуске/перезапуске прогонов, см. Интеграции.

Хуки

В Предусловие / Постусловие результата попадают только хуки на уровне теста. Хуки уровня suite не попадают в отчёт как шаги. Если упала подготовка suite и раннер всё же запускает привязанные тесты, они попадают в отчёт как Failed с текстом этой ошибки (обычно без шагов). Постусловие уровня suite не меняет результаты, уже завершившиеся как Passed.

Повторы

Если раннер повторяет Failed тест, в отчёт попадает только финальная попытка. При повторе авто-теста (retry > 0), во вкладке Env появляется ключ раннера вроде PLAYWRIGHT_RETRY или JEST_RETRY (1 — второй запуск). На странице каждого раннера с поддержкой повторов указано имя этого ключа в Env.

Комментарии, ошибки и вложения

tracera.comment, tracera.error и tracera.attachment добавляются к текущему шагу, если вызвать их внутри шага; вне шага — к результату.

tracera.error только добавляет текст ошибки — тест из‑за этого не падает. Для Failed используйте fail API раннера.

Лимиты вложений

ЛимитЗначение
На шагдо 10 файлов
На результат (вне шагов)до 10 файлов
Размер файладо 50 MB каждый

Сервер определяет тип по содержимому и расширению файла. Неподдерживаемые типы отклоняются (ошибка загрузки в логе адаптера).

Допустимые типы

Изображения: image/png, image/jpeg, image/gif, image/webp
Документы / данные: text/plain, text/csv, application/pdf, application/json, application/xml, application/zip
Архивы: application/gzip, application/x-tar
Видео: video/webm, video/mp4
Прочие файлы: application/octet-stream

Раннеры

JavaScript: Playwright JS, Cypress, WebdriverIO, Jest, Vitest

Python: Pytest, Playwright Python, Robot Framework, Behave

JVM: JUnit 5, TestNG, Kotest, Cucumber JVM, Android

.NET: NUnit, xUnit, Reqnroll

Go: gotest, Ginkgo, Godog

Dart: dart-test, Flutter

Swift: Swift Testing, XCUITest