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

    • Тестирование на разных окружениях с конфигурациями
  • Автоматизация тестирования

    • Настройка адаптера pytest и первый прогон автотестов
    • Загрузка результатов Allure в Test IT с помощью импортера
    • Настройка CI/CD и Test IT для запуска автотестов на Java

Параметризация вебхуков в Test IT на примере GitLab CI и Playwright

🎯 Задача

Создать в GitLab гибкий пайплайн, чтобы динамически настраивать один вебхук на запуск автотестов в Playwright и с его помощью задавать настройки прогона.

💡 Решение

Использовать вебхук, параметры которого разделены на типы:

  • Базовые параметры — определяются Test IT автоматически (например, идентификатор проекта)
  • Параметры конфигурации — определяют, на чем тестируем (браузер + разрешение).
  • Пользовательские (кастомные) параметры — определяют особенности конкретного запуска автотестов: использование фильтрации, количество воркеров, тип загрузки результатов (в реальном времени или по окончании прогона).
📋 Показать/скрыть таблицу параметров
#Тип параметраПеременная Test ITКогда задаетсяПримеры
1
Базовые параметры
$SERVER_URL, $PROJECT_ID, $CONFIGURATION_IDS, $TEST_RUN_IDЗначения подставляются системой автоматически-
2
Параметры конфигурации
$CONFIGURATIONS_PARAMETERS[KEY]Заранее, при создании конфигурацииbrowser, viewport
3
Пользовательские параметры
$CUSTOM_PARAMETERS[KEY]При каждом запуске автотестов из Test ITadapterMode, workers, importRealtime

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

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

  • Репозиторий в GitLab с включенным CI/CD и настроенным GitLab Runner
  • Проект Test IT с подключенными автотестами Playwright и адаптером для Playwright
  • Системная роль не ниже Пользователь и проектная роль с правами на запуск автотестов и настройку вебхуков
  • Триггер-токен для GitLab (trigger token). Настраивается в директории: Settings → CI/CD → Pipeline triggers. Инструкция GitLab.
  • API-токен Test IT в GitLab CI/CD Variables (TMS_PRIVATE_TOKEN)

⏱ Время: ≈40–60 мин

Базовую настройку адаптера Playwright и раннера смотрите в рецептах:

  • Настройка CI/CD и Test IT для запуска автотестов на Java
  • Настройка адаптера pytest и первый локальный прогон автотестов.

Этот рецепт описывает только параметризацию вебхука.

Шаг 1: создаем конфигурации

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

При запуске автотестов тестировщик выбирает конфигурацию — значения browser и viewport подставятся в вебхук автоматически через $CONFIGURATIONS_PARAMETERS[browser] и $CONFIGURATIONS_PARAMETERS[viewport]. Указывать их вручную не нужно.

ℹ️ Playwright нативно поддерживает Chromium, Firefox и WebKit, а также настройку viewport. Одна конфигурация соответствует одному профилю запуска "браузер + разрешение".

🛠️ Создайте в Test IT 9 конфигураций для 3 браузеров: Chrome, Firefox, WebKit и 3 разрешений: 1920x1080, 1920x1200, 2560x1440.

📋 Показать/скрыть матрицу конфигураций
#КонфигурацияПараметр browserПараметр viewport
1Chrome / FHDchromium1920x1080
2Chrome / WUXGAchromium1920x1200
3Chrome / 2Kchromium2560x1440
4Firefox / FHDfirefox1920x1080
5Firefox / WUXGAfirefox1920x1200
6Firefox / 2Kfirefox2560x1440
7WebKit / FHDwebkit1920x1080
8WebKit / WUXGAwebkit1920x1200
9WebKit / 2Kwebkit2560x1440

  • В каждую конфигурацию добавьте параметры с ключами browser и viewport.
    Параметры с ключами browser и viewport в конфигурации

✅ Результат: В проекте Test IT есть набор конфигураций "браузер + разрешение", каждая с параметрами browser и viewport.

Шаг 2: настраиваем пользовательские параметры проекта

ℹ️ Пользовательские параметры привязаны к проекту, а не к конфигурации. Их значение задается при каждом запуске в Test IT.

🛠️ В проекте Test IT создайте пользовательские параметры:

  • В параметрах используйте следующие ключи и значения:
    #КлючЗначенияНазначение
    1adapterModeall_tests, filter_testsРежим работы адаптера при запуске из Test IT
    2workers1, 2, 4…Число параллельных воркеров playwright
    3importRealtimetrue, falseРежим отправки результатов в Test IT

Режимы adapterMode для вебхука:

  • all_tests — запускаются все автотесты проекта. Результаты вносятся в существующий прогон Test IT.
  • filter_tests — запускаются только автотесты из выбранного прогона (фильтр через Test IT CLI). Результаты вносятся в существующий прогон.

✅ Результат: В проекте Test IT созданы кастомные параметры adapterMode, workers, importRealtime.

Пользовательские параметры в Test IT

Шаг 3: настраиваем playwright

ℹ️ playwright.config.ts считывает параметры viewport и workers из переменных окружения, которые передает GitLab CI.

🛠️ В файле playwright.config.ts настройте конфигурацию.

  • В playwright.config.ts укажите переменные projects под три браузера и динамический viewport:

    import { defineConfig, devices } from '@playwright/test';
    
    const viewport = {
      width: parseInt(process.env.VIEWPORT_WIDTH || '1920', 10),
      height: parseInt(process.env.VIEWPORT_HEIGHT || '1080', 10),
    };
    
    const workers = parseInt(process.env.WORKERS || '1', 10);
    
    export default defineConfig({
    workers,
    use: {
        screenshot: 'only-on-failure',
        viewport,
    },
    projects: [
        { name: 'chromium', use: { ...devices['Desktop Chrome'], viewport } },
        { name: 'firefox',  use: { ...devices['Desktop Firefox'], viewport } },
        { name: 'webkit',   use: { ...devices['Desktop Safari'], viewport } },
    ],
    reporter: [['line'], ['testit-adapter-playwright']],
    });
    

При запуске CI выполняется команда:

npx playwright test --project=$BROWSER --workers=$WORKERS

Браузер выбирается по имени проекта (chromium, firefox, webkit), viewport — из VIEWPORT_WIDTH / VIEWPORT_HEIGHT.

✅ Результат: playwright готов принимать браузер, разрешение и число воркеров из переменных CI (CI variables).

Шаг 4: настраиваем .gitlab-ci.yml

ℹ️ Один .yml-файл обрабатывает все сценарии: парсит параметры, выбирает команду запуска, передает настройки адаптеру.

🛠️ Укажите ключевые элементы пайплайна.

  • Дефолтные значения (применяются, если параметр не передан или передан пустым):
    #ПеременнаяДефолтное значение
    1adapterModefilter_tests
    2WORKERS1
    3IMPORT_REALTIMEfalse
    4BROWSERchromium
    5VIEWPORT1920x1080

Логика режимов адаптера (adapterMode) в CI:

  • all_tests → npx playwright test --project=$BROWSER --workers=$WORKERS
  • filter_tests → testit autotests_filter → npx playwright test ... --grep "$FILTER"
📋 Передача параметров адаптеру (показать/скрыть таблицу)
#CI variableEnv для адаптераИсточник
1URLTMS_URLВебхук (стандартная)
2PROJECT_IDTMS_PROJECT_ID…Вебхук (стандартная)
3CONFIGURATION_IDTMS_CONFIGURATION_IDВебхук (стандартная)
4TEST_RUN_IDTMS_TEST_RUN_IDВебхук (стандартная)
5IMPORT_REALTIMETMS_IMPORT_REALTIMEПользовательский параметр

📥 Скачать образец файла .gitlab-ci.yml из репозитория примера

✅ Результат: Pipeline в GitLab принимает параметры из вебхука и запускает Playwright с нужным браузером, разрешением и настройками адаптера.

Шаг 5: создаем вебхук в Test IT

ℹ️ Подробнее о вебхуках.

🛠️ Создайте вебхук для запуска автотестов с типом запроса POST и URL: https://[gitlab-host]/api/v4/projects/[project_id]/trigger/pipeline

📋 Показать/скрыть таблицу параметров
#ПараметрЗначениеТип
1refmaster (или ваша ветка)Фиксированное
2tokentrigger token GitLabФиксированное
3variables[URL]$SERVER_URLСтандартная переменная Test IT
4variables[PROJECT_ID]$PROJECT_IDСтандартная переменная Test IT
5variables[TEST_RUN_ID]$TEST_RUN_IDСтандартная переменная Test IT
6variables[CONFIGURATION_ID]$CONFIGURATION_IDSСтандартная переменная Test IT
7variables[BROWSER]$CONFIGURATIONS_PARAMETERS[browser]Параметр конфигурации
8variables[VIEWPORT]$CONFIGURATIONS_PARAMETERS[viewport]Параметр конфигурации
9variables[adapterMode]$CUSTOM_PARAMETERS[adapterMode]Пользовательский параметр
10variables[WORKERS]$CUSTOM_PARAMETERS[workers]Пользовательский параметр
11variables[IMPORT_REALTIME]$CUSTOM_PARAMETERS[importRealtime]Пользовательский параметр

Пользовательские параметры в Test IT

Важно про пользовательские параметры в URL вебхука!

Если в URL вебхука указан $CUSTOM_PARAMETERS[KEY], а при запуске параметр не заполнен — Test IT может не отправить вебхук или передать пустое значение. В .gitlab-ci.yml предусмотрены дефолты: пустые и невалидные значения нормализуются автоматически (adapterMode → filter_tests, WORKERS → 1, IMPORT_REALTIME → false).

✅ Результат: В проекте Test IT создан вебхук, передающий параметры конфигурации и кастомные параметры в GitLab pipeline.

⚠️ Возможные трудности для серверной версии Test IT (развернуть/свернуть)
  • Если Test IT обращается к GitLab по HTTPS с самоподписанным сертификатом, добавьте в .env-файл сервера Test IT: INSECURE_REMOTES=git.example.com:443 (укажите хост GitLab). Подробнее: Настройка CI/CD и Test IT для запуска автотестов на Java.

Шаг 6: делаем пробный прогон

ℹ️ Файл playwright.config.ts считывает параметры viewport и workers из переменных окружения, которые передает GitLab CI.

🛠️ Запустите тесты из интерфейса Test IT:

  1. Выберите автотесты и нажмите Запустить.
  2. В модальном окне выберите конфигурацию (например, Firefox / 2K) — browser и viewport подставятся автоматически.
  3. Укажите кастомные параметры или оставьте их пустыми (в этом случае применятся значения по умолчанию).
  4. Нажмите Создать прогон и запустить автотесты. Пользовательские параметры в Test IT
  5. По окончании прогона убедитесь, что:
    • В логах GitLab
      • GitLab принял значение переданных параметров из вебхука.
      • Playwright успешно применил эти параметры при запуске автотестов.
    • В Test IT:
      • В прогоне указаны результаты автотестов.
      • Конфигурация прогона соответствует выбранной вами конфигурации.

✅ Результат: Один вебхук и один файл .gitlab-ci.yml покрывают кросс-браузерный прогон с разными разрешениями и гибкой настройкой адаптера и Playwright.

📧 Идеями и вопросами можно поделиться в Центре помощи или официальном сообществе.

Обновлено: