Ключи маппинга
Мы придерживаемся подхода, что автоматизированный тест может быть наиболее полным и единственным источником информации о тесте.
Информация об автоматизированном тесте в ТестОпс создается на основе загружаемых результатов те стов, которые содержат метаданные, добавленные тестировщиками. Использование этих метаданных — важная часть процесса создания самодокументируемых тестов.
Для работы с метаданными в ТестОпс используется маппинг значений:
- В код автоматизированного теста добавляются значения метаданных. Каждое значение привязано к определенному ключу маппинга.
- После запуска теста создается файл с результатами, содержащий поле
labels
, в котором указаны все пары «ключ-значение». - В инстансе ТестОпс указываются, какие ключи из файла с результатами будут использоваться для добавления метаданных тест-кейсам.
Метаданные можно использовать для фильтрации результатов, группировки тест-кейсов и пр.
ТестОпс поддерживает несколько типов метаданных.
Типы метаданных
Название | Описание | Использование |
---|---|---|
Кастомные поля | Epic, Feature, Story, Component, Microservice и другие атрибуты тест-кейса | Фильтрация тест-кейсов, результатов тестов и аналитики. Группировка тест-кейсов (построение деревьев) |
Тестовые слои | Информация о тестовом слое (UI-тесты, интеграционные тесты, юнит-тесты и т. д.) | Фильтрация тест-кейсов, результатов тестов и аналитики |
Участники | Участники команды, назначенные на тест-кейс (автор, тестировщик, ревьюер и т. д.) | Фильтрация тест-кейсов, результатов тестов и аналитики |
Задачи из таск-трекеров | Связанные задачи из сторонних таск-трекеров | Фильтрация тест-кейсов, результатов тестов и аналитики. Экспорт данных в задачу |
Теги | Пользовательские метки, добавленные к тест-кейсам | Фильтрация тест-кейсов, результатов тестов и аналитики |
Окружение | Информация о тестовом окружении (браузер, хост, операционная система и т. д.) | Фильтрация истории тест-кейсов и результатов тестов. Запуск тестов в разных окружениях |
Как это работает?
Рассмотрим простой код ниже. В примере используется язык Java, но использование ключей маппинга поддерживается всеми адаптерами Allure.
@Manual
@Feature("Regions")
@DisplayName("Goods checking")
@Story("Main page in a region")
@Tags({@Tag("web"), @Tag("regress"), @Tag("smoke")})
@ParameterizedTest(name = "{displayName} in region `{0}`")
@MethodSource("regions")
public void addToFavorites(final String city) {
step("Open site for a region: " + city);
step("Check that region is: " + city);
step("Check that main page contains region specific goods", () -> {
step("Check that ads are specific for the region: " + city);
step("Check that best goods area is specific for the region: " + city);
});
}
Незав исимо от используемого тестового фреймворка и языка программирования после запуска теста будет создан файл с результатами в формате JSON (<uid>-result.json
). Этот файл будет содержать поле labels
.
{
"name": "Goods checking",
<snipped>
"labels": [
{
"name": "tag",
"value": "web"
},
{
"name": "tag",
"value": "regress"
},
{
"name": "tag",
"value": "smoke"
},
{
"name": "story",
"value": "Main page in a region"
},
{
"name": "feature",
"value": "Regions"
},
{
"name": "ALLURE_MANUAL",
"value": "true"
},
{
"name": "framework",
"value": "junit-platform"
},
{
"name": "language",
"value": "java"
},
{
"name": "package",
"value": "io.qameta.allure.ParameterizedManualTest"
},
{
"name": "testClass",
"value": "io.qameta.allure.ParameterizedManualTest"
},
{
"name": "testMethod",
"value": "addToFavorites"
},
{
"name": "suite",
"value": "io.qameta.allure.ParameterizedManualTest"
}
],
"links": []
}
Далее вам нужно создать в вашем инстансе ТестОпс маппинги для ключей, указанных в поле labels
. Каждый маппинг свяжет ключ из labels
с атрибутом тест-кейса в вашем проекте.
Для некоторых типов метаданных, таких как теги, создавать маппинги не нужно. Более подробная информация о каждом типе метаданных и о добавлении маппингов расположена в соответствующих инструкциях.
Примеры
Кастомное поле
Примеры: Epic, Feature, Story, Component, Microservice и т. д.
Задача — добавить новое кастомное поле к автоматизированному тест-кейсу. Например, Microservice: Report.
Шаги
- Нажмите на свой аватар и перейдите в раздел Администрирование → Кастомные поля.