23 июля, Вебинар от ТестОпс🔥  Узнать больше →
Skip to content

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

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

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

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