Test ITTest IT
  • Руководство пользователя Test IT
  • Работа в Личном кабинете тарифов Базовый и Стандарт
  • Установка и настройка Test IT Про
  • Рецепты Test IT
  • Личный кабинет в тарифах Базовый и Стандарт
  • Загрузить Test IT Про
  • GitHub Test IT
  • Что нового в тарифах Базовый и Стандарт?
  • Что нового в Test IT Про?
  • Что нового в документации?
  • Часто задаваемые вопросы
  • Центр помощи
  • Видеокурс по Test IT
  • Спросите нас в Telegram
  • Официальный сайт Test IT
      
    
  • Руководство пользователя Test IT
  • Работа в Личном кабинете тарифов Базовый и Стандарт
  • Установка и настройка Test IT Про
  • Рецепты Test IT
  • Личный кабинет в тарифах Базовый и Стандарт
  • Загрузить Test IT Про
  • GitHub Test IT
  • Что нового в тарифах Базовый и Стандарт?
  • Что нового в Test IT Про?
  • Что нового в документации?
  • Часто задаваемые вопросы
  • Центр помощи
  • Видеокурс по Test IT
  • Спросите нас в Telegram
  • Официальный сайт Test IT
  • Рецепты Test IT
  • Тестирование на разных окружениях с использованием конфигураций

Настройка адаптера и первый локальный прогон автотестов (на примере pytest)

🎯 Задача

Обеспечить автоматическую передачу результатов автотестов на pytest в Test IT с сохранением истории прогонов, детализацией по шагам, привязкой к ручным тест-кейсам и возможностью анализировать тренды.

💡 Решение

Подключим адаптер testit-adapter-pytest. После настройки каждый запуск pytest --testit автоматически создает в Test IT прогон с полными результатами.

Перед началом работы

📝 Вам потребуются:

  • Python 3.9 или более поздняя версия (проверьте с помощью команды python --version)
  • Доступ к Test IT с системной ролью не ниже, чем Пользователь и проектными ролями с возможностями редактирования к библиотеки автотестов и выполнения тестов
  • Проект с тестами в pytest. Если у вас их еще нет — наши готовые примеры можно скачать на GitHub.
  • Адаптер Test IT для pytest

⏱ Время: ≈30 мин

Шаг 1: устанавливаем адаптер

ℹ️ Подробнее об адаптере Test IT

🛠️ Установите адаптер для своей поставки Test IT — облачной или серверной.

Test IT Базовый и Стандарт (облачная версия)

Для облачной версии всегда устанавливается актуальная версия адаптера.

  1. Установите адаптер с помощью команды:
     pip install testit-adapter-pytest
    
  2. Проверьте корректность установки адаптера с помощью команды:
     pip show testit-adapter-pytest
    
    Отобразится название и версия пакетов адаптера.
Test IT Про (серверная версия)
  1. Перейдите на страницу https://github.com/testit-tms/adapters-python.
  2. Найдите релиз с постфиксом post и цифрами соответствующими вашей версии Test IT (например, testit-adapter-pytest-3.11.1.post560 подойдет для Test IT 5.6).
  3. Установите адаптер с помощью команды:
     pip install testit-adapter-pytest==3.11.1.post560
    
    После выполнения команды все необходимые зависимости подтянутся автоматически. Дополнительная установка пакетов не требуется.
  4. Проверьте корректность установки адаптера с помощью команды:
     pip show testit-adapter-pytest
    
    Отобразится название и версия пакетов адаптера.

✅ Результат: На ваш компьютер установлен адаптер pytest с необходимыми пакетами.

Установка адаптера Test IT для Pytest

Шаг 2: определяем конфигурацию адаптера и выбираем режим работы

ℹ️ О конфигурации адаптера для pytest на GitHub

🛠️ Чтобы сконфигурировать адаптер:

  1. В корневой папке проекта cоздайте конфигурационный файл connection_config.ini.
  2. В файле connection_config.ini укажите необходимые параметры в зависимости от режима работы адаптера (определяется параметром adapterMode):
    • Mode 0 (используется по умолчанию): загрузка результатов в существующий прогон с фильтрацией
    • Mode 1: загрузка результатов в существующий прогон без фильтрации
    • Mode 2 (рекомендуется): автоматическое создание нового прогона

    Укажите режим работы адаптера

    Если не указать режим работы (adapterMode), адаптер будет использовать Mode 0 по умолчанию и потребует обязательный параметр testRunId.

    Mode 2 (рекомендуется)

    Описание: Адаптер создает новый прогон в Test IT и отправляет результаты всех запущенных тестов в этот новый прогон.

    Когда использовать: Идеально для локальной отладки, первичного подключения и ежедневных запусков без заранее созданного тест-плана. Вам не нужно предварительно ничего создавать в интерфейсе TMS.

    Пример connection_config.ini:

    [testit]
    url = http://192.168.187.81/
    privateToken = S2RZUmpiRnp4U1RlRmNmVEcz
    projectId = 569f28f1-a8f9-4762-b12b-c40955bc63f1
    configurationId = be1b1df4-aae6-4f5f-a8df-2be01d5c0311
    automaticCreationTestCases = false
    certValidation = false
    adapterMode = 2
    
    Mode 0 (по умолчанию)

    Описание: Адаптер фильтрует тесты по ID прогона и ID конфигурации, и отправляет результаты в этот же прогон.

    Когда использовать: Когда прогон уже сформирован в интерфейсе Test IT (в нем лежит определенный набор тестов), и вам нужно запустить локально строго этот набор, проигнорировав остальные автотесты в вашем проекте.

    Пример connection_config.ini:

    [testit]
    url = http://192.168.187.81/
    privateToken = S2RZUmpiRnp4U1RlRmNmVEcz
    projectId = 569f28f1-a8f9-4762-b12b-c40955bc63f1
    configurationId = be1b1df4-aae6-4f5f-a8df-2be01d5c0311
    automaticCreationTestCases = false
    certValidation = false
    adapterMode = 0
    testRunId = 98765432-10ab-cdef-9876-543210fedcba
    
    Mode 1

    Описание: Адаптер отправляет результаты всех запущенных тестов в существующий прогон без фильтрации. Дополнительно можно задать фильтрацию через использование утилиты командной строки Test IT CLI.

    Когда использовать: В системе уже есть прогон, и вы хотите запустить все локальные тесты и загрузить их результаты в этот прогон.

    Пример connection_config.ini:

    [testit]
    url = http://192.168.187.81/
    privateToken = S2RZUmpiRnp4U1RlRmNmVEcz
    projectId = 569f28f1-a8f9-4762-b12b-c40955bc63f1
    automaticCreationTestCases = false
    certValidation = false
    adapterMode = 1
    testRunId = 98765432-10ab-cdef-9876-543210fedcba
    
📝 Параметры конфигурации (список)
#ПараметрОбязательныйОписание
1urlДаURL Test IT
2privateTokenДаAPI-токен
В Test IT: Настройки профиля → Безопасность
3projectIdДаGUID проекта из URL
В Test IT: Проекты → Меню действий → Скопировать ID
4configurationIdРекомендуетсяGUID конфигурации (если не указать — результаты попадут в Any).
В Test IT: Конфигурации → Меню действий → Скопировать GUID
5testRunIdДля Mode 0-1GUID существующего прогона Test IT
В Test IT: Прогоны → Меню действий → Скопировать ID
6testRunNameНетНазвание прогона (для Mode 2).
По умолчанию: Pytest run {timestamp}
7adapterModeВажноВыбор режима: 0, 1 или 2.
По умолчанию: 0.
8automaticCreationTestCasesНетtrue — создавать ручные кейсы из автотестов
false (по умолчанию) — не создавать
9automaticUpdationLinksToTestCasesНетtrue — обновлять связи автотестов с кейсами
false (по умолчанию) — не обновлять
10certValidationНетtrue (по умолчанию) — проверять SSL-сертификат
false — для самоподписанных сертификатов
11importRealtimeНетtrue (по умолчанию) — отправлять каждый тест сразу после выполнения
false — собрать все и отправить пакетом

✅ Результат: В корневой папке проекта находится файл connection_config.ini, определяющий конфигурацию адаптера, включая режим его работы. Конфигурационный файл адаптера Test IT для pytest

Шаг 3: размечаем тесты с помощью декораторов

ℹ️ Декораторы передают адаптеру метаданные автотеста: название, описание, шаги, и т.д. Адаптер использует эти данные для корректного отображения результатов в Test IT. Все декораторы являются опциональными.

🛠️ Разметьте автотесты, используя декораторы из списка.

📝 Декораторы и методы (список)
#ДекораторМетодНазначение
1@testit.workItemIdstestit.addWorkItemIdsСвязь автогенератора с ручным кейсом. Принимает ID или список ID (строки).
2@testit.externalIdtestit.addExternalIdУникальный ID теста. Если не указан — генерируется хеш из полного имени функции.
3@testit.displayNametestit.addDisplayNameПонятное имя теста в системе (вместо технического имени функции).
4with testit.step@testit.stepСоздание шагов. Вложенные вызовы создают подшаги.
5testit.addAttachments - Загрузка файлов (скриншотов, логов) в результат прогона.
6@testit.linkstestit.addLinksСсылки на внешние ресурсы (задачи, требования).
7@testit.labelstestit.addLabelsМетки для фильтрации в Test IT (Smoke, Regress).
8@testit.titletestit.addTitleЗаголовок теста в карточке (по умолчанию берется из displayName).
9@testit.descriptiontestit.addDescriptionПодробное текстовое описание теста.
10@testit.tagstestit.addTagsТеги для дополнительной группировки.
11@testit.nameSpacetestit.addNameSpaceВиртуальная директория в Test IT (по умолчанию — имя файла).
12@testit.classNametestit.addClassNameПоддиректория в Test IT (по умолчанию — имя класса).
13testit.addMessage - Произвольное текстовое сообщение в результат теста.
14testit.addParameter - Добавление параметров в результат прогона.
⚠️ Типичные ошибки
#ОбластьПроблемаРешение
1Типы данныхДекораторы workItems ожидают строку, а не число. Путь к файлу в addAttachments должен быть строкой.Передавайте ID как строку: '26', ['26']. Приводите пути к строке: str(path).
2Стабильность IDЕсли не задать externalId, он сгенерируется автоматически. При переименовании теста ID изменится, и история прогонов прервётся (создается новый тест).Для важных тестов задавайте externalId вручную.
3ПараметризацияЗначения параметров pytest можно подставлять в названиях тестов.Используйте {param_name} в строках декораторов (например, @testit.displayName('Test {role}')).
4SSL-сертификатыОшибка SSL при подключении к Test IT Про с самоподписанным сертификатом.Добавьте certValidation = false в файл конфигурации адаптера.

✅ Результат: Автотесты в pytest размечены с помощью декораторов и могут корректно передавать данные в Test IT. Конфигурационный файл адаптера Test IT для pytest

Шаг 4: запускаем тесты и отправляем результаты в Test IT

ℹ️ После запуска автотестов в Test IT будут созданы карточки автотестов и прогон. Можно будет работать с автотестами из интерфейса Test IT.

🛠️ Чтобы запустить первый прогон:

  • В pytest запустите автотесты при помощи флага --testit: pytest --testit
    Статусы тестов и метаданные (шаги, вложения) будут переданы в Test IT в режиме реального времени.

✅ Результат: В разделе Автотестирование → Библиотека автотестов Test IT находятся карточки с метаданными автотестов. В разделе Автотестирование → Прогоны Test IT находятся прогоны с результатами автотестов.

Запуск автотестов из Pytest

Дальнейшие шаги

Мы установили и настроили адаптер для pytest, подготовили тесты к загрузке в Test IT и запустили первый прогон. Теперь карточки автотестов и результаты прогона находятся в Test IT.

Далее мы можем использовать функциональность автотестов, которую предлагает Test IT: запускать автотесты из UI Test IT, настраивать автоматический перезапуск упавших автотестов, отслеживать запуски, анализировать результаты автотестов, автоматически отмечать нестабильные автотесты и многое другое.

Удачных прогонов!

Обновлено: