Skip to content

Ключи маппинга

Мы придерживаемся подхода, что автоматизированный тест может быть наиболее полным и единственным источником информации о тесте.

Информация об автоматизированном тесте в ТестОпс создается на основе загружаемых результатов тестов, которые содержат метаданные, добавленные инженерами по тестированию. Использование этих метаданных — важная часть процесса создания самодокументируемых тестов.

Для работы с метаданными в ТестОпс используется маппинг значений:

  1. В код автоматизированного теста добавляются значения метаданных. Каждое значение привязано к определенному ключу маппинга.
  2. После запуска теста создается файл с результатами, содержащий поле labels, в котором указаны все пары «ключ-значение».
  3. В инстансе ТестОпс указываются, какие ключи из файла с результатами будут использоваться для добавления метаданных тест-кейсам.

Метаданные можно использовать для фильтрации результатов, группировки тест-кейсов и пр.

ТестОпс поддерживает несколько типов метаданных.

Типы метаданных

НазваниеОписаниеИспользование
Кастомные поляEpic, Feature, Story, Component, Microservice и другие атрибуты тест-кейсаФильтрация тест-кейсов, результатов тестов и аналитики.

Группировка тест-кейсов (построение деревьев)
Тестовые слоиИнформация о тестовом слое (UI-тесты, интеграционные тесты, юнит-тесты и т. д.)Фильтрация тест-кейсов, результатов тестов и аналитики
УчастникиУчастники команды, назначенные на тест-кейс (автор, инженер по тестированию, ревьюер и т. д.)Фильтрация тест-кейсов, результатов тестов и аналитики
Задачи из таск-трекеровСвязанные задачи из сторонних таск-трекеровФильтрация тест-кейсов, результатов тестов и аналитики.

Экспорт данных в задачу
ТегиПользовательские метки, добавленные к тест-кейсамФильтрация тест-кейсов, результатов тестов и аналитики
ОкружениеИнформация о тестовом окружении (браузер, хост, операционная система и т. д.)Фильтрация истории тест-кейсов и результатов тестов.

Запуск тестов в разных окружениях

Как это работает

Рассмотрим простой код ниже. В примере используется язык Java, но использование ключей маппинга поддерживается всеми адаптерами Allure.

java
@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.

json
{
  "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 с атрибутом тест-кейса в вашем проекте.

Для некоторых типов метаданных, таких как теги, создавать маппинги не нужно. Более подробная информация о каждом типе метаданных и о добавлении маппингов расположена в соответствующих инструкциях.

Примеры

Примечание

В этом разделе описана общая концепция ключей маппинга. Примеры для конкретных языков программирования см. в документации Allure Report.

Кастомное поле

Примеры: Epic, Feature, Story, Component, Microservice и т. д.

Задача — добавить новое кастомное поле к автоматизированному тест-кейсу. Например, Microservice: Report.

Для этого:

  1. Перейдите в раздел АдминистрированиеКастомные поля.
  2. Создайте новое поле Microservice. Это кастомное поле, которое вы будете использовать для маппинга информации о микросервисах.
  3. В коде тест-кейса реализуйте маппинг allure_label["microservice"] = "Report", где:
    • allure_label — указатель для адаптера Allure;
    • microservice — ключ маппинга;
    • Report — значение маппинга.
  4. Перейдите в раздел проекта НастройкиКастомные поля.
  5. Нажмите + Поле и выберите Microservice (из шага 2).
  6. Справа перейдите на вкладку Маппинг и нажмите + Маппинг.
  7. Введите ключ маппинга microservice (из шага 3) и нажмите Создать.
  8. Запустите ваш тест-кейс локально.
  9. Перейдите в раздел Запуски и нажмите Импорт в правом верхнем углу.
  10. Загрузите файл с результатом теста в ТестОпс.
  11. Перейдите к результату теста. Значение кастомного поля будет отображено в блоке Кастомные поля.

Тестовый слой

Примеры: Selenium, React E2E, API-тесты, Web, UI-тесты, интеграционные тесты и т. д.

Задача — назначить новый тестовый слой автоматизированному тест-кейсу. Например, Selenium.

Для этого:

  1. Перейдите в раздел АдминистрированиеСлои.
  2. Создайте новый тестовый слой Selenium.
  3. В коде тест-кейса реализуйте маппинг allure_label["layer"] ="selenium", где:
    • allure_label — указатель для адаптера Allure;
    • layer — ключ маппинга;
    • selenium — значение маппинга.
  4. Перейдите в раздел проекта НастройкиТестовые слои и нажмите + Создать.
  5. Создайте новый маппинг:
    • ключ — selenium (из шага 3);
    • слой тестов — Selenium (из шага 2).
  6. Запустите ваш тест-кейс локально.
  7. Перейдите в раздел Запуски и нажмите Импорт в правом верхнем углу.
  8. Загрузите файл с результатом теста в ТестОпс.
  9. Перейдите к результату теста. Название тестового слоя будет отображено рядом с названием тест-кейса.

Участники

Примеры: Author, Owner, Lead и т. д.

Задача — прикрепить нового участника к автоматизированному тест-кейсу. Например, Author (автор): ivanivanov.

Для этого:

  1. Перейдите в раздел АдминистрированиеРоли.
  2. Добавьте новую роль Author.
  3. В коде тест-кейса реализуйте маппинг allure_label["author"] = "ivanivanov", где:
    • allure_label — указатель для адаптера Allure;
    • author — ключ маппинга;
    • ivanivanov — значение маппинга.
  4. Перейдите в раздел проекта НастройкиРоли и нажмите + Создать.
  5. Создайте новый маппинг:
    • ключ — author (из шага 3);
    • роль — Author (из шага 2).
  6. Запустите ваш тест-кейс локально.
  7. Перейдите в раздел Запуски и нажмите Импорт в правом верхнем углу.
  8. Загрузите файл с результатом теста в ТестОпс.
  9. Перейдите к результату теста. Информация об участнике и его роли будет отображена в блоке Участники.

Задачи из таск-трекеров

Примеры: AE-1, AE-2, AE-3 и т. д.

Задача — связать задачу из таск-трекера с автоматизированным тест-кейсом. Например, задачу AE-2 из Jira.

Для этого:

  1. В коде тест-кейса реализуйте маппинг allure_label["jira"] = "AE-2", где:
    • allure_label — указатель для адаптера Allure;
    • jira — ключ маппинга;
    • AE-2 — значение маппинга.
  2. Добавьте в ТестОпс интеграцию с таск-трекером Jira, если это не было сделано ранее.
  3. Перейдите в раздел проекта НастройкиЗадачи из баг-трекера и нажмите + Создать.
  4. Создайте новый маппинг:
    • ключ — jira (из шага 1);
    • баг-трекер — таск-трекер, с которым была настроена интеграция (из шага 2).
  5. Запустите ваш тест-кейс локально.
  6. Перейдите в раздел Запуски и нажмите Импорт в правом верхнем углу.
  7. Загрузите файл с результатом теста в ТестОпс.
  8. Перейдите к результату теста. Ссылка на задачу из таск-трекера будет отображена в блоке Связанные задачи из баг-трекера.

Список стандартных ключей, используемых адаптерами Allure

КлючВхождение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все
custom labelsвсе

В столбце Вхождение указано, какое вхождение будет добавлено в файл с результатами теста, если вхождений несколько:

  • Первое вхождение — адаптер возьмет только первое значение и проигнорирует все последующие значения с ключом.
  • Все вхождения — адаптер добавит все указанные значения с ключом в файл с результатами теста.

Logo © 2025 Все права защищены. Сайт принадлежит компании ООО «Инструменты тестирования»