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 Все права защищены. Сайт принадлежит компании ООО «Инструменты тестирования»