Skip to content

Импорт результатов тестов

Результаты автоматизированных тестов можно импортировать в ТестОпс вручную через интерфейс или автоматически — с помощью allurectl, плагинов для CI-систем или плагина для IntelliJ IDEA.

Во время импорта результатов тестов ТестОпс автоматически создает запуск в разделе Запуски. При закрытии этого запуска, ТестОпс создает или обновляет связанные тест-кейсы.

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

ТестОпс поддерживает несколько форматов файлов для импорта результатов автоматизированных тестов:

  • формат Allure Report 2.x*-result.json, *-container.json, *-attachment.*;
  • формат Allure Report 1.x — *.xml (поддерживается для совместимости со старыми адаптерами и интеграциями);
  • формат отчетности Cucumber — *.json;
  • формат отчетности JGiven — *.json;
  • формат отчетности JUnit XML — *.xml;
  • формат отчетности Visual Studio — *.trx (устаревший, не рекомендуется использовать);
  • формат отчетности XCTest — *.xcresult (поддерживаются только файлы из XCode 11 и выше);
  • формат отчетности xUnit.net — *.xml.

Для большинства случаев рекомендуется использовать формат Allure Report 2.x, который поддерживает все возможности ТестОпс. Для этого установите официально поддерживаемый адаптер Allure для вашего тестового фреймворка.

Ручной импорт результатов тестов

Ручной импорт может быть полезен, если вы хотите:

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

Вы можете импортировать как отдельные файлы с результатами тестов, так и ZIP-архив с этими файлами. Подробнее о структуре файлов см. документацию Allure Report.

Импорт результатов тестов в новый запуск

Чтобы импортировать результаты тестов в новый запуск:

  1. Перейдите в ваш проект ТестОпс → раздел Запуски.

  2. В правом верхнем углу нажмите Импорт.

  3. В левой части окна заполните поля:

    • Название — введите название нового запуска или оставьте предложенное.
    • Релиз — нажмите на выпадающий список и выберите релиз, к которому будет добавлен запуск.
    • Теги — нажмите на выпадающий список и выберите теги, которые будут добавлены к запуску.
    • Связанные задачи из баг-трекера — нажмите + Добавить и выберите одну или несколько задач из таск-трекеров.
    • Ссылки — нажмите + Добавить и введите одну или несколько ссылок, которые будут добавлены к запуску.
    • Окружение — укажите переменные окружения, которые будут установлены для всех результатов тестов в текущем импорте.
  4. В правой части окна:

    • Выберите тип импорта — Файлы результатов или Архивы (только zip).
    • Выберите файлы, нажав на область выбора файлов или перетащив их в эту область.
  5. Нажмите Загрузить файлы.

В разделе Запуски появится новый запуск со статусом «Открыт». В этом состоянии запуск еще не обработан ТестОпс: в него можно импортировать дополнительные результаты тестов или изменить метаданные.

Импорт результатов тестов в существующий запуск

В открытый запуск в ТестОпс можно добавить дополнительные результаты тестов. Для этого:

  1. Перейдите в ваш проект ТестОпс → раздел Запуски.

  2. Справа от названия нужного запуска нажмите Добавить в запускРезультаты тестов.

  3. В левой части окна заполните поле Переменные окружения — укажите переменные окружения, которые будут установлены для всех результатов тестов в текущем импорте.

  4. В правой части окна:

    • Выберите тип импорта — Файлы результатов или Архивы (только zip).
    • Выберите файлы, нажав на область выбора файлов или перетащив их в эту область.
  5. Нажмите Загрузить файлы.

Автоматический импорт результатов тестов

Использование плагинов для импорта результатов тестов

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

  • CI-системы — настройте интеграцию с этой системой;
  • IntelliJ IDEA — настройте плагин в этой системе.

Использование allurectl для импорта результатов тестов

Если ТестОпс не поддерживает интеграцию с вашей CI-системой или вы предпочитаете приложение командной строки, используйте allurectl для импорта результатов тестов:

  1. Скачайте версию allurectl для вашей платформы.

  2. Создайте API-токен для allurectl в ТестОпс.

  3. После выполнения тестов запустите allurectl, чтобы импортировать их результаты в ТестОпс:

    sh
    allurectl upload <директория> -e https://<домен_инстанса_ТестОпс> -t <API-токен> --project-id <проект>

    где:

    • <директория> — директория, содержащая файлы с результатами тестов;
    • <домен_инстанса_ТестОпс> — домен вашего инстанса ТестОпс;
    • <API-токен> — API-токен, который вы создали в ТестОпс;
    • <проект> — ID вашего проекта ТестОпс.

    Совет

    Также можно использовать команду watch вместо upload, чтобы импортировать результаты сразу после завершения теста, и передавать параметры через переменные окружения. Подробнее см. allurectl.

Сопоставление результатов тестов с тест-кейсами

Когда вы импортируете результаты тестов, для каждого результата ТестОпс выполняет одно из трех действий:

  • Создает новый автоматизированный тест-кейс, если это первый импорт результатов для этого тест-кейса.
  • Обновляет существующий тест-кейс, если вы уже импортировали для него результаты.
  • Отмечает результат как «Несвязанный», если он содержит неверные данные для сопоставления.

После первичного импорта все последующие результаты должны быть корректно связаны с созданным тест-кейсом. Для этого адаптеры Allure дополнительно записывают в результат уникальный идентификатор теста (testCaseId), который отличается от ID тест-кейса, отображающегося в интерфейсе ТестОпс. Чтобы создать этот идентификатор, адаптеры хэшируют данные, предоставляемые тестовым фреймворком, включая селектор тест-кейса (полный путь теста).

Если тестовый фреймворк не предоставляет готовый идентификатор для теста, адаптер создает хэш на основе сигнатуры тестовой функции и дополнительной информации, которая может помочь сделать идентификатор более уникальным (например, названия пакета).

Этот процесс можно представить следующим образом:

testCaseId = md5(fullName + sort(params))

где:

  • fullName — селектор теста (полное имя теста, сигнатура тестовой функции), которое может включать: имя пакета, имя класса, имя файла, имя метода/функции;
  • sort(params) — отсортированный список параметров теста.

От полученной строки вычисляется MD5-хэш, который дает фиксированную строку (уникальный идентификатор), например:

"testCaseId": "43f8868a337ff70177a77838d39c5b55"

Примечание

Если вы не используете официальный адаптер и в ваших результатах нет этого идентификатора, ТестОпс сгенерирует его автоматически при импорте результатов. Этот идентификатор может отличаться от идентификаторов, создаваемых адаптерами.

Возможная проблема идентификаторов, созданных таким образом, — их чувствительность к изменениям в вашем коде. Например, если для создания идентификатора была использована сигнатура тестовой функции и вы в будущем измените имя функции или ее параметры, это приведет к изменению идентификатора и к созданию в ТестОпс нового тест-кейса вместо обновления существующего.

Чтобы этого избежать, после первичного импорта результатов тестов вы можете указать в вашем коде ID связанных тест-кейсов из ТестОпс. Значения ID можно найти в интерфейсе ТестОпс: в карточках тест-кейсов, в общем списке тест-кейсов и в их URL-адресах.

Важно

Вы не можете указать в коде ID тест-кейса, который еще не существует в ТестОпс. В таком случае импортированные результаты получат статус «Несвязанный» и тест-кейсы не будут созданы или обновлены.

В зависимости от используемого тестового фреймворка и адаптера Allure, ID тест-кейса задается разными аннотациями, например:

java
@Test
@AllureId("123")
public void myTest() {
   step("Step 1", () -> {});
}

После запуска теста из примеров выше адаптер создаст файл с результатами, в котором будут указаны следующие поля:

json
"testCaseId": "db57b9d129d73c4b4d9a1d1023774f53",
"labels": [
   {
      "name": "as_id",
      "value": "123"
   }
]

где:

  • testCaseId — уникальный идентификатор теста, созданный адаптером (хэш данных, предоставленных тестовым фреймворком);
  • as_id (или allure_id в некоторых адаптерах) — имя ключа, который хранит ID тест-кейса;
  • 123 — ID тест-кейса из базы данных ТестОпс.

Если ТестОпс обнаружит ID тест-кейса в результате теста, он будет игнорировать всю информацию, связанную с testCaseId, и свяжет результат теста с соответствующим тест-кейсом через указанный ID.

Logo © 2026 Все права защищены. Сайт принадлежит компании ООО «Инструменты тестирования»