Маппинг метаданных
При импорте результатов тестов в ТестОпс можно автоматически заполнять метаданные автоматизированных тест-кейсов:
- кастомные поля;
- тестовые слои;
- участников;
- теги;
- связи с задачами из таск-трекеров;
- связи со сторонними тест-кейсами.
Для всех перечисленных типов метаданных, кроме тегов, нужно предварительно создать правила маппинга в настройках проекта. Правило маппинга связывает ключи из файла с результатами теста с метаданными в тест-кейсах ТестОпс.
Примечание
Чтобы создать или удалить правило маппинга, необходима проектная роль «Владелец проекта».
Принцип работы маппинга метаданных
Чтобы автоматически заполнять метаданные автоматизированных тест-кейсов при импорте результатов тестов в ТестОпс:
- Создайте правило маппинга в настройках проекта в ТестОпс — укажите ключ, который ТестОпс будет искать в файле с результатами тестов.
- Добавьте нужные метаданные в код автоматизированных тестов в формате «ключ-значение».
- Запустите тесты — адаптер Allure запишет метаданные из кода автоматизированных тестов в файл с результатами тестов в поле
labels. - Импортируйте результаты тестов в ТестОпс.
- Закройте запуск — ТестОпс сопоставит ключи в правилах маппинга с ключами из файла с результатами тестов и заполнит метаданные связанных тест-кейсов.
Важно
По умолчанию источник обновления автоматизированных тест-кейсов в ТестОпс — Результат теста. Если выбран Тест-кейс, значения метаданных из результатов тестов в тест-кейсы не записываются. Подробнее см. Источники обновления тест-кейсов.
Примеры маппинга метаданных
В примерах ниже метаданные в коде теста показаны в общем виде: allure_label["ключ"] = "значение". Синтаксис зависит от языка программирования и тестового фреймворка. Примеры для конкретных языков программирования см. в документации адаптеров Allure.
Кастомное поле
Примечание
Для системных полей Epic, Feature, Story и Suite ТестОпс автоматически создает правила маппинга с ключами epic, feature, story и suite.
Предположим, в проекте есть кастомное поле Microservice, в которое вы хотите записать значение Report при импорте результатов тестов.
Для этого:
Перейдите в ваш проект ТестОпс → раздел Настройки → Кастомные поля.
Откройте карточку поля Microservice.
Перейдите на вкладку Маппинг и нажмите + Маппинг.
В поле Ключ введите microservice и нажмите Создать.
В коде нужных тестов добавьте
allure_label["microservice"] = "Report", где:microservice— ключ в коде теста. Должен совпадать с ключом из правила маппинга из шага 4;Report— значение кастомного поля.
Запустите тесты и импортируйте их результаты в ТестОпс.
После закрытия запуска ТестОпс запишет значение из результатов тестов в связанные тест-кейсы. Значение отобразится в секции Кастомные поля.
Тестовый слой
Предположим, в проекте есть тестовый слой Selenium.
Чтобы назначить этот слой автоматизированным тест-кейсам:
Перейдите в ваш проект ТестОпс → раздел Настройки → Слои.
Нажмите + Создать.
Заполните поля:
- Ключ — введите selenium;
- Слой тестов — нажмите на выпадающий список и выберите Selenium.
В коде нужных тестов добавьте
allure_label["layer"] = "selenium", где:layer— ключ в коде теста. Для тестовых слоев он всегдаlayer;selenium— значение тестового слоя. Должно совпадать с ключом из правила маппинга из шага 3.
Запустите тесты и импортируйте их результаты в ТестОпс.
После закрытия запуска ТестОпс запишет тестовый слой в связанные тест-кейсы. Название тестового слоя отобразится рядом с названиями тест-кейсов.
Участники
Примечание
Для системной роли Owner ТестОпс автоматически создает правило маппинга с ключом owner.
Предположим, в проекте есть тестовая роль Author и участник ivanivanov.
Чтобы назначить этого участника на автоматизированные тест-кейсы:
Перейдите в ваш проект ТестОпс → раздел Настройки → Роли в тест-кейсах.
Нажмите + Создать.
Заполните поля:
- Ключ — введите author;
- Роль — нажмите на выпадающий список и выберите Author.
В коде нужных тестов добавьте
allure_label["author"] = "ivanivanov", где:author— ключ в коде теста. Должен совпадать с ключом из правила маппинга из шага 3;ivanivanov— имя участника.
Запустите тесты и импортируйте их результаты в ТестОпс.
После закрытия запуска ТестОпс запишет участника в связанные тест-кейсы. Имя пользователя и его тестовая роль отобразятся в секции Участники.
Теги
Предположим, автоматизированные тесты нужно отметить тегами web и regress.
Чтобы добавить эти теги к автоматизированным тест-кейсам:
В коде нужных тестов добавьте
allure_label["tag"] = "web"иallure_label["tag"] = "regress", где:tag— ключ в коде теста;webиregress— значения тегов.
Запустите тесты и импортируйте их результаты в ТестОпс.
После закрытия запуска ТестОпс запишет теги в связанные тест-кейсы. Они отобразятся в секции Теги.
Задачи из таск-трекеров
Предположим, в проекте настроена интеграция с таск-трекером Jira, в котором есть задача с ключом AE-2.
Чтобы связать автоматизированные тест-кейсы с этой задачей:
Перейдите в ваш проект ТестОпс → раздел Настройки → Задачи из баг-трекера.
Нажмите + Создать.
Заполните поля:
- Ключ — введите jira;
- Баг-трекер — нажмите на выпадающий список и выберите подключение к таск-трекеру Jira, с которым была настроена интеграция.
В коде нужных тестов добавьте
allure_label["jira"] = "AE-2", где:jira— ключ в коде теста. Должен совпадать с ключом из правила маппинга из шага 3;AE-2— ключ задачи в таск-трекере.
Запустите тесты и импортируйте их результаты в ТестОпс.
После закрытия запуска ТестОпс запишет ссылку на задачу в связанные тест-кейсы. Она отобразится в секции Связанные задачи из баг-трекера.
Сторонние тест-кейсы
Предположим, в проекте настроена интеграция со сторонней TMS TestRail, в которой есть тест-кейс с идентификатором 4076.
Чтобы связать автоматизированные тест-кейсы с этим сторонним тест-кейсом:
Перейдите в ваш проект ТестОпс → раздел Настройки → Сторонние TMS.
Нажмите + Создать.
Заполните поля:
- Ключ — введите testrail;
- TMS — нажмите на выпадающий список и выберите подключение к TMS TestRail, с которой была настроена интеграция.
В коде нужных тестов добавьте
allure_label["testrail"] = "4076", где:testrail— ключ в коде теста. Должен совпадать с ключом из правила маппинга из шага 3;4076— идентификатор тест-кейса в TestRail.
Запустите тесты и импортируйте их результаты в ТестОпс.
После закрытия запуска ТестОпс запишет ссылку на тест-кейс TestRail в связанные тест-кейсы ТестОпс. Она отобразится в секции Связанные тест-кейсы из TMS.
Удаление правила маппинга метаданных
Порядок удаления правила маппинга зависит от типа метаданных:
- Перейдите в ваш проект ТестОпс → раздел Настройки.
- Откройте раздел, в котором создано правило маппинга.
- Справа от нужного правила маппинга нажмите иконку корзины.
После удаления правила маппинга ТестОпс перестанет автоматически заполнять соответствующий тип метаданных при импорте результатов тестов. Значения, которые уже записаны в тест-кейсах, не изменятся.
Стандартные и кастомные ключи адаптеров Allure
Ключи, которые адаптер Allure записывает в поле labels файла с результатами тестов, бывают стандартными и кастомными.
Стандартные ключи имеют фиксированные имена, заданные адаптером:
- Часть ключей указывается в коде теста вместе со значением, например:
tag,layer,feature. - Часть ключей добавляется в файл автоматически, например:
package,language,framework.
Кастомные ключи определяются пользователем самостоятельно для решения специфических задач, например: jira или microservice.
| Ключ | Вхождение | Поддерживается в Allure Report v.2 | Поддерживается в ТестОпс | Комментарий |
|---|---|---|---|---|
allure_id | Первое | ❌ | ✅ | |
as_id | Первое | ❌ | ✅ | Устарело, используйте allure_id |
ALLURE_MANUAL | Первое | ❌ | ✅ | |
package | Первое | ✅ | ❌ | |
testClass | Первое | ✅ | ✅ | |
testMethod | Первое | ✅ | ✅ | |
parentSuite | Все | ✅ | ✅ | |
suite | Все | ✅ | ✅ | |
subSuite | Все | ✅ | ✅ | |
epic | Все | ✅ | ✅ | |
feature | Все | ✅ | ✅ | |
story | Все | ✅ | ✅ | |
framework | Первое | ✅ | ❌ | Можно создать кастомное поле и правило маппинга с этим ключом |
language | Первое | ✅ | ❌ | Можно создать кастомное поле и правило маппинга с этим ключом |
layer | Первое | ✅ | ✅ | |
thread | Первое | ✅ | ✅ | |
host | Первое | ✅ | ✅ | |
severity | Первое | ✅ | ❌ | |
tag | Все | ✅ | ✅ | Правило маппинга не нужно |
owner | Все | ❌ | ✅ | |
lead | Все | ❌ | ✅ |
В столбце Вхождение указано, сколько значений адаптер запишет в файл, если один и тот же ключ указан в коде несколько раз:
- Первое — только первое значение, остальные игнорируются;
- Все — все значения.

