Как назначается Allure ID, HistoryID

Последние изменения: 11.07.2024

Что учитывается при привязке к Allure ID, HistoryID

  1. fullName - AllureID, HistoryID

  2. parameters - AllureID, HistoryID

  3. environment - HistoryID

Результат теста привязывается к AllureID через testCaseId

Test case ID

На основе данных, которые мы получаем из результата теста, мы вычисляем testCaseId
hash или testCase hash или testCaseId в result.json =
md5(fullName, sort(names(parameters)))

В md5(fullName, sort(names(parameters))) идет завязка на fullName, который отображается в интерфейсе ТестОпс.
Тест-кейс считается либо по явному указанному ID (AllureID), либо по сигнатуре метода (fullName).

FullName — это полная сигнатура метода тестирования. Она может содержать имя пакета, имя папки, имя класса, имя файла, имя метода — не все вместе, поскольку это зависит от используемого языка программирования и среды тестирования.

Когда результат теста обрабатывается на стороне Allure TestOps, существует два альтернативных сценария:
- нет связи между AllureID и testCaseId
- существует связь между AllureID и testCaseId

1 Нет связи
Если между AllureID и testCaseId нет связи, Allure TestOps создает новый AllureID, т. е. создается новый тестовый пример, и связывает AllureID с testCaseId и связывает полученный результат теста с AllureID через testCaseId.

2 Существует связь

Если связь между AllureID и testCaseId существует, Allure TestOps связывает полученный результат теста с AllureID через testCaseId, поэтому тестовый пример получает еще одну запись в истории выполнения.

Исходя из того как рассчитывается testCaseId:

- если меняется FullName, то меняется контрольная сумма md5, меняется testCaseId

- если меняется имя параметра, то меняется контрольная сумма md5, меняется testCaseId

- если меняется количество параметров, то меняется контрольная сумма md5, меняется testCaseId

Важно
При изменении testCaseId связь между результатом вашего теста и существующим AllureID разрывается, и Allure TestOps создает новый тест кейс. Предыдущий тест кейс с старым AllureID заброшен.


Управление AllureID

- AllureID назначается Allure TestOps в качестве первого доступного идентификатора.
- Вы не можете использовать в своем коде AllureID, которого еще нет. Это сделает ваш результат теста потерянным и предотвратит создание тест кейса.
- AllureID привязан к проекту в Allure TestOps, т.е. если вы предоставите AllureID из другого проекта, то в текущем проекте вы увидите результаты теста, но тестовый пример не будет обновляться и не будет отображаться в текущий проект.

    History ID

    historyId или historyKey = md5(hash, sort(values(parameters)), sort(environemnt))

    Чтобы связывать перезапуски, необходим hash аргументов, переданных в метод + hash значений окружения. 

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

    Помогла ли вам статья?