Шаблон интеграции JMeter, Test IT и GitLab CI/CD
Содержание
- Назначение и функциональность
- Инструменты, применяемые в шаблоне
- Структура проекта
- Вынесенная конфигурация JMeter
- Конфигурация
- Процесс работы шаблона
- Подготовка инфраструктуры GitLab и JMeter
- Настройка Test IT
- Условия успешного использования шаблона
- Документация
Назначение и функциональность
Шаблон интеграции JMeter, Test IT и GitLab CI/CD (далее — "Шаблон") представляет готовое решение для интегрирации тестов производительности Apache JMeter с Test IT и GitLab CI/CD. Он предназначен для автоматизации тестирования производительности. При работе с шаблоном выполняются операции:
- Запуск тестов с помощью GitLab CI/CD
- Запуск тест-планов JMeter в режиме без графического интерфейса
- Обработка результатов тестов и создание отчетов
- Загрузка результатов тестов, логов и HTML-отчетов в Test IT
Шаблон поддерживает два основных метода запуска тестов:
- Ручной/запланированный запуск из GitLab CI/CD — осуществляется непосредственно из интерфейса GitLab или по расписанию
- Запуск через вебхуки из Test IT — производится из интерфейса Test IT, что позволяет динамически передавать параметры
Инструменты, применяемые в шаблоне
- GitLab CI/CD — система CI/CD, оркестрирующая весь процесс, от настройки окружения до выполнения тестов и составления отчетов
- Apache JMeter — инструмент для тестирования производительности, используемый для выполнения тест-планов
.jmx
- Test IT — cистема управления тестированием, в которой хранятся и анализируются результаты тестов
- Test IT CLI — утилита командной строки для загрузки результатов в Test IT
- JMeter JUnit Reporter Plugin — плагин для JMeter, который генерирует результаты тестов в формате JUnit XML, совместимом с Test IT
Структура проекта
Для использования шаблона создайте проект со следующей структурой:
/ваш-проект |-- .gitlab-ci.yml |-- common.properties |-- /jmeter_tests | |-- Login_Test.jmx | `-- Checkout_Process.jmx |-- /jmeter_plugins | `-- jmeter-junit-reporter-3.1.jar |-- /test_data | `-- users.csv `-- /jmeter_reports (создается автоматически)
В проект входят файлы и каталоги:
.gitlab-ci.yml
— основной файл конфигурации CI/CDcommon.properties
— основной файл свойств JMeter для параметризации тестовjmeter_tests/
— каталог, содержащий все тест-планы JMeter (файлы.jmx
)jmeter_plugins/
— каталог, содержащий необходимые плагины JMeter, такие как JUnit Reportertest_data/
— каталог, содержащий любые внешние файлы данных, необходимых для ваших тестов (например, наборы данных CSV)jmeter_reports/
— каталог, сожержащий артефакты тестов (логи, файлы JTL, отчеты JUnit и HTML). Создается автоматически конвейером CI/CD.
Вынесенная конфигурация JMeter
Преимущества вынесенной конфигурации
В шаблоне используется подход, при котором конфигурационные файлы и плагины JMeter выносятся в отдельную папку JmeterRep
. Это обеспечивает следующие преимущества:
- Контроль версий. Все конфигурационные файлы и плагины находятся под контролем версий Git, что позволяет отслеживать изменения и возвращаться к предыдущим версиям.
- Централизованное управление. Все настройки JMeter собраны в одном месте, что упрощает администрирование и поддержку.
- Переносимость. Конфигурация легко переносится между различными окружениями и серверами.
- Изоляция. Изменения в конфигурации не затрагивают стандартную установку JMeter.
Структура вынесенной конфигурации
Вынесенная конфигурация имеет следующую структуру:
/JmeterRep
|-- /config # Конфигурационные файлы JMeter
| |-- jmeter.properties # Основной файл конфигурации JMeter
| |-- common.properties # Пользовательские свойства для тестов
| |-- log4j2.xml # Конфигурация логирования
| |-- user.properties # Дополнительные пользовательские настройки
| `-- system.properties # Системные свойства JMeter
|-- /extPlugins # Внешние плагины JMeter
| |-- jmeter-plugins-*.jar # JAR-файлы плагинов
| `-- ApacheJMeter_*.jar # Компоненты JMeter
`-- /JMeter-TestIT-GitLab-Template # Шаблон интеграции
Стандартное расположение файлов JMeter
Конфигурационные файлы JMeter как правило располагаются в директориях:
$JMETER_HOME/bin/jmeter.properties
$JMETER_HOME/bin/user.properties
$JMETER_HOME/bin/system.properties
$JMETER_HOME/bin/log4j2.xml
Плагины JMeter как правило располагаются в директориях:
$JMETER_HOME/lib/ext/
— для JAR-файлов плагинов$JMETER_HOME/lib/
— для основных библиотек
Настройка вынесенной конфигурации
Для использования вынесенной конфигурации:
- При запуске JMeter укажите путь к конфигурационным файлам:
jmeter -p /path/to/JmeterRep/config/jmeter.properties
- Укажите путь к дополнительным плагинам через системное свойство:
-Djmeter.ext.dirs=/path/to/JmeterRep/extPlugins
- Опционально: Вместо указания пути к дополнительным плагинам настройте переменные окружения:
export JMETER_PROPERTIES=/path/to/JmeterRep/config/jmeter.properties export JMETER_EXT_DIRS=/path/to/JmeterRep/extPlugins
Использование виртуальных ссылок на Windows
В операционной системе Windows для связи вынесенных конфигурационных файлов и плагинов с основной установкой JMeter используются виртуальные ссылки (symbolic links).
Для папки с плагинами используется ссылка:
mklink /D "%JMETER_HOME%\lib\ext" "<YOUR_PROJECT_PATH>\extPlugins"
Для конфигурационных файлов используются ссылки:
mklink "%JMETER_HOME%\bin\jmeter.properties" "<YOUR_PROJECT_PATH>\config\jmeter.properties" mklink "%JMETER_HOME%\bin\common.properties" "<YOUR_PROJECT_PATH>\config\common.properties" mklink "%JMETER_HOME%\bin\log4j2.xml" "<YOUR_PROJECT_PATH>\config\log4j2.xml"
Где:
%JMETER_HOME%
— путь к установке JMeter (например,C:\apache-jmeter-5.6.3
)<YOUR_PROJECT_PATH>
— путь к вашему проекту с репозиторием
Преимущества использования виртуальных ссылок:
- JMeter находит файлы и папки в стандартных местах
- Фактически файлы остаются в репозитории под контролем версий
- Не требуется изменение параметров запуска JMeter
- Упрощается развертывание и обновление конфигурации
Важно: Для создания виртуальных ссылок на Windows требуются права администратора.
Такой подход позволяет более гибко работать с конфигурационными файлами и параметризировать JMeter, обеспечивая при этом полный контроль версий над всеми настройками и плагинами.
Конфигурация
Файл .gitlab-ci.yml
В файле .gitlab-ci.yml
содержатся ключевые области для настройки автоматизации:
Глобальные переменные:
variables: HOST_VM_PERF: "your.performance.server.com" # Пример: IP-адрес или домен сервера для performance тестирования JMETER_application: "cloud" # По умолчанию используется cloud версия
Переменные для интеграции с Test IT (в шаблоне
.common_job
):variables: TESTIT_UPLOAD_URL: https://your-testit-instance.com/ # Пример: замените на ваш адрес Test IT TESTIT_PROJECT_ID: 00000000-0000-0000-0000-000000000000 # Пример ID проекта TESTIT_CONFIGURATION_ID: 11111111-1111-1111-1111-111111111111 # Пример ID конфигурации
Стадии пайплайна (конвейера):
stages: - prepare # Подготовительная стадия - загрузка данных, настройка окружения - perf_tests # Основные performance тесты (полные сценарии нагрузочного тестирования) - service # Сервисные тесты (тестирование отдельных API endpoints) - custom # Кастомные тесты (специальные сценарии для конкретных компонентов)
Примеры определения задач (jobs):
Основной performance тест:
perf-tms-cloud-job: extends: - .before - .common_job stage: perf_tests variables: TEST_PLAN_FILE: "jmx/perfTests/tms.jmx" rules: - if: '$CI_PIPELINE_SOURCE == "trigger" && $JMETER_testName == "tms" && $JMETER_application == "cloud"' when: on_success - when: manual allow_failure: true variables: RUN_TYPE: "tst"
Сервисный тест:
perf-auth-cloud-job: extends: - .before - .common_job stage: service variables: TEST_PLAN_FILE: "jmx/service/auth.jmx" rules: - if: '$CI_PIPELINE_SOURCE == "trigger" && $JMETER_testName == "auth" && $JMETER_application == "cloud"' when: on_success - when: manual allow_failure: true
Enterprise-версия теста:
perf-tms-ent-job: extends: - .before - .common_job stage: perf_tests variables: TEST_PLAN_FILE: "jmx/perfTests/tms.jmx" RUN_TYPE: "tst" JMETER_application: "ent" # Переопределяем для enterprise
Принципы именования:
- Переменная
TEST_PLAN_FILE
указывает путь к.jmx
-файлу относительно корня проекта. - Имя задачи (job) может быть любым, но должно быть уникальным.
- Для автоматического запуска из Test IT используется переменная
JMETER_testName
, которая должна соответствовать значению в конфигурации Test IT.
- Переменная
Переменные окружения
Обязательные переменные CI/CD (настраиваются в GitLab Settings > CI/CD > Variables):
Переменная Описание Пример значения Тип TESTIT_PRIVATE_TOKEN
Приватный токен для доступа к Test IT API your-secret-token
Masked SSH_PRIVATE_KEY
SSH ключ для доступа к performance серверу -----BEGIN OPENSSH PRIVATE KEY-----...
Masked Переменные для настройки окружения:
Переменная Описание Значение по умолчанию Где используется HOST_VM_PERF
IP-адрес performance сервера your.performance.server.com
Глобально JMETER_application
Тип приложения (cloud/ent) cloud
Глобально TESTIT_UPLOAD_URL
URL Test IT инстанса https://your-testit-instance.com/
.common_job TESTIT_PROJECT_ID
ID проекта в Test IT 00000000-0000-0000-0000-000000000000
.common_job TESTIT_CONFIGURATION_ID
ID конфигурации в Test IT 11111111-1111-1111-1111-111111111111
.common_job PUBLIC_REPORTS_URL
Базовый URL для HTML отчетов http://your-reports-server.com/reports/
.common_job JMETER_HOME
Путь к JMeter на runner /opt/jmeter
.before Переменные для запуска из Test IT с помощью вебхуков:
Переменная Описание Пример значения JMETER_testName
Имя теста для запуска tms
,auth
,registration
JMETER_application
Тип приложения cloud
,ent
TESTIT_TESTRUN_ID
ID тест-рана в Test IT 12345678-1234-1234-1234-123456789012
RUN_TYPE
Тип запуска TESTIT_RUN
,tst
Файлы JMeter common.properties и jmeter.properties
Для конфигурации Jmeter шаблон использует два ключевых файла: jmeter.properties
и common.properties
. Такая связка позволяет гибко управлять настройками.
jmeter.properties
— стандартный файл конфигурации JMeter. Его основная задача — указать JMeter на использование дополнительного файла свойств. Добавляется следующая настройка:user.properties = ./config/common.properties
JMeter загрузит все свойства, определенные в
common.properties
при запуске. Таким образом, не нужно каждый раз указывать путь кcommon.properties
через флаг-q
в командной строке, что упрощает команду запуска в CI/CD.common.properties
— основной файл для параметризации тестов, определяющий все параметры, специфичные для проекта: количество пользователей, целевые хосты, настройки окружения и другие конфигурационные данные. Использование отдельного файла для этих целей делает конфигурацию чистой, переносимой и легко управляемой.Работа Jmeter с файлами:
- При запуске JMeter читает
jmeter.properties
. - Обнаружив директиву
user.properties=./config/common.properties
, он загружает все свойства изcommon.properties
. - Важно: Свойства из
common.properties
при загрузке JMeter становятся параметрами JMeter, а не переменными. В JMX-сценариях доступ к этим параметрам осуществляется через функцию${__P(имя_параметра, значение_по_умолчанию)}
. Например,${__P(threads, 1)}
. Не путайте параметры с обычными переменными JMeter.
- При запуске JMeter читает
Пример структурированного файла
common.properties
:# ==================================================================== # ОСНОВНЫЕ ПАРАМЕТРЫ ТЕСТА # ==================================================================== # Количество виртуальных пользователей (потоков) threads=10 # Время разгона (в секундах) rampup=5 # Продолжительность теста (в секундах) duration=300 # ==================================================================== # ПАРАМЕТРЫ ОКРУЖЕНИЯ # ==================================================================== # Имя хоста или IP-адрес целевого сервера target.host=your.test.server.com # Протокол (http или https) protocol=https
Тест-планы JMeter
Тест-планы JMeter создаются в формате .jmx
.Чтобы сделать ваши тест-планы совместимыми с этим фреймворком:
- Используйте функцию
${__P(property_name, default_value)}
для чтения значений из файлаcommon.properties
. - Пример: в группе потоков установитеNumber of Threads (users)
в${__P(threads, 1)}
. - Используйте плагин JUnit Reporter: 1. Добавьте слушатель
jp@gc - JUnit Reporter
в свой тест-план. 2. Настройте его для сохранения отчета по пути, который может найти скрипт CI. Шаблон.gitlab-ci.yml
ожидает его по адресу$REPORT_DIR/junit.xml
, что соответствуетjmeter_reports/Your_Job_Name/junit.xml
.
Процесс работы шаблона
Работа шаблона включает в себя этапы:
- Обработка переменных
- Выполнение тестов
- Интеграция с Test IT
1. Обработка переменных
- Определение переменных GitLab CI происходит в
.gitlab-ci.yml
или в настройках проекта GitLab. Они управляют процессом работы CI/CD. - Запуск тестов из Test IT с помощью вебхука, содержащего переменные Test IT. Когда тест запускается из Test IT, он может отправлять полезную нагрузку JSON с переменными (
TESTIT_VARIABLES
). Скрипт.before
в файле CI включает раздел-заполнитель, показывающий, как можно разобрать этот JSON (с помощью инструментаjq
) и динамически обновить файлcommon.properties
перед запуском теста. - Определение свойства JMeter. JMeter загружает все переменные из
common.properties
во время выполнения. Таким образом, параметры, такие как количество потоков, хосты и продолжительность, передаются в тест-план.
2. Выполнение тестов
- Запуск конвейера GitLab CI (например, вручную, по расписанию или через вебхук Test IT).
- Начало выполнения задания, запуск скрипта
.before
, который подготавливает окружение. - Выполнение скрипта
.common_job
: a. Скрипт определяет план тестирования для запуска на основе имени задания ($CI_JOB_NAME
). b. Скрипт запускает JMeter с указанным планом тестирования и файлом свойств. c. JMeter выполняет тест и с помощью плагина JUnit Reporter создает файлjunit.xml
. d. JMeter также создает подробный HTML-отчет. - Вставка ссылки в общедоступный HTML-отчет. Ссылка помещается в файл
junit.xml
с помощью скрипта. Это делает отчет доступным непосредственно из тестового запуска Test IT. - Вызов
testit
CLI для загрузки результатовjunit.xml
в Test IT.
Пример выполнения JMeter-теста
В Test IT мы запускаем тесты с использованием следующих параметров:
# -n : запуск в неинтерактивном режиме (без GUI)
# -t : путь к файлу тестового плана (.jmx файл)
# -l : файл для сохранения результатов в формате JTL
# -e : генерация HTML отчета после выполнения
# -o : директория для HTML отчета
# -q : файл с дополнительными свойствами (наша конфигурация)
# Задержка только для ночных прогонов (nightly run)
if [ "$FINAL_RUN_TYPE" = "nr" ]; then
echo "Nightly run detected - sleeping for 900 seconds to avoid peak hours"
sleep 900
else
echo "Non-nightly run - starting immediately (FINAL_RUN_TYPE: $FINAL_RUN_TYPE)"
fi
jmeter -n -t ./$TEST_PLAN_FILE -l ./reports/results.jtl -e -o ./reports/report -q ./config/common.properties
3. Интеграция с Test IT
- Создание тестового запуска. Скрипт определяет, создавать ли новый тестовый запуск в Test IT или прикреплять результаты к существующему (если конвейер был запущен вебхуком Test IT, который передает
$TESTIT_TESTRUN_ID
). - Загрузка результатов. Команда
testit results import
выполняет основную работу. Она использует формат JUnit, связывает результаты с правильным проектом и конфигурацией и прикрепляет весь каталог HTML-отчетов для детального анализа. - Организация пространства имен. Флаг
--namespace
помогает организовать результаты в Test IT, предотвращая коллизии имен тестов, если в одном проекте тестируется несколько приложений.
Подготовка инфраструктуры GItLab и JMeter
Подготовка образа Docker
Важно: Для работы пайплайна необходимо предварительно собрать и разместить Docker образ в реестре контейнеров.
Подготовьте сборку Docker-образа:
# Перейдите в директорию с Dockerfile cd JMeter-TestIT-GitLab-Template # Соберите образ docker build -t your-registry/jmeter-testit:latest .
Загрузите Docker-образ в реестр:
# Загрузите образ в ваш Docker реестр docker push your-registry/jmeter-testit:latest
Обновите файл .gitlab-ci.yml:
# Укажите ваш образ в секции image .common_джоб: image: your-registry/jmeter-testit:latest
Готовый Dockerfile находится в файле Dockerfile
и содержит:
- OpenJDK 11 (Alpine Linux)
- Apache JMeter 5.6.3
- TestIT CLI для интеграции
- Необходимые системные утилиты (rsync, ssh, python3)
- Настроенное логирование для CI/CD
Быстрый старт
- Клонируйте репозиторий. Начните с этого репозитория-шаблона.
- Настройте
.gitlab-ci.yml
:- Заполните
TESTIT_URL
,TESTIT_PROJECT_ID
иTESTIT_CONFIGURATION_ID
. - Установите
TESTIT_PRIVATE_TOKEN
как маскированную переменную CI/CD в GitLab. - Обновите
HOST_VM_PERF
и другие переменные, специфичные для окружения.
- Заполните
- Создайте файл
common.properties
и добавьте в него параметры вашего теста. - Добавьте тест-планы JMeter: поместите ваши файлы
.jmx
в каталогjmeter_tests/
.- Убедитесь, что они параметризованы с помощью функций
${__P()}
. - Добавьте слушатель JUnit Reporter в каждый тест-план.
- Убедитесь, что они параметризованы с помощью функций
- Добавьте плагины JMeter: поместите
jmeter-junit-reporter-*.jar
и любые другие необходимые плагины в каталогjmeter_plugins/
. - Создайте задания GitLab CI/CD: для каждого файла
.jmx
создайте соответствующее задание в.gitlab-ci.yml
, которое расширяет.common_job
. Помните о соглашении об именах! - Запустите конвейер: отправьте свои изменения в GitLab и запустите конвейер.
Пошаговая настройка на основе существующего проекта
Если у вас уже есть настроенный GitLab CI для JMeter-тестов, выполните следующие шаги для интеграции с шаблоном:
Шаг 1: Анализ существующей структуры
Проверьте структуру ваших задач (jobs):
- Определите, какие стадии используются (
perf_tests
,service
,custom
) - Найдите переменные
TEST_PLAN_FILE
в ваших задачах - Проверьте правила запуска (
rules
) для каждой задачи
- Определите, какие стадии используются (
Сопоставьте переменные:
# Ваши текущие переменные → Переменные шаблона HOST_VM_PERF → HOST_VM_PERF (без изменений) JMETER_application → JMETER_application (без изменений)
Шаг 2: Адаптация задач (jobs)
Замените extends в ваших задачах:
# Было: your-job: extends: .your_template # Стало: your-job: extends: - .before - .common_job
Обновите переменные задач (jobs):
# Добавьте переменную TEST_PLAN_FILE если её нет: variables: TEST_PLAN_FILE: "jmx/perfTests/your-test.jmx"
Шаг 3: Настройка интеграции с Test IT
Добавьте переменные Test IT в .common_job:
variables: TESTIT_UPLOAD_URL: https://your-testit-instance.com/ # Пример адреса Test IT TESTIT_PROJECT_ID: your-project-id # Пример ID проекта (получить можно через Chrome DevTools) TESTIT_CONFIGURATION_ID: your-configuration-id # Пример ID конфигурации (получить можно через Chrome DevTools)
Настройте правила запуска вебхуков:
rules: - if: '$CI_PIPELINE_SOURCE == "trigger" && $JMETER_testName == "your-test-name"' when: on_success - when: manual allow_failure: true
Шаг 4: Проверка совместимости
Убедитесь, что ваши .jmx-файлы соответствуют требованиям:
- Используют переменные из
common.properties
- Генерируют JUnit XML отчеты
- Настроены для работы с переменными окружения
- Используют переменные из
Проверьте структуру папок:
├── jmx/ │ ├── perfTests/ # Основные performance-тесты │ ├── service/ # Сервисные тесты │ └── custom/ # Кастомные тесты ├── testData/ # Тестовые данные └── plugins/ # JMeter-плагины
Настройка Test IT
Настройка параметров проекта
- В разделе Параметры проекта Test IT создайте следующие параметры:
# | Параметр | Назначение | Значения |
---|---|---|---|
1 | runType | Тип запуска тестов — используется для определения типа тестирования | api, regression, smoke, load |
2 | testName | Название теста (задачи (job)) — определяет название задачи в GitLab CI, которое должно совпадать с именем .jmx-файла. Например, для файла Login_Test.jmx параметр должен быть Login_Test. | Login_Test, Checkout_Process, Search_Functionality |
3 | application | Название приложения — используется для группировки результатов. | perf, cloud, api |
4 | host | Хост для тестирования — определяет целевой сервер для нагрузочного тестирования. | URL тестируемого приложения |
5 | loopCount | Количество итераций — определяет количество повторений теста | Числовые (1, 625, 1500, 5000) |
6 | userNum | Количество пользователей — определяет количество виртуальных пользователей | Числовые (1, 10, 15, 20, 22, 25) |
Настройка конфигураций
- В разделе Конфигурации создайте конфигурации для различных сценариев:
Базовые конфигурации:
- Создайте конфигурации (например, "Load Test — Cloud Standard")
- Укажите описание конфигурации
- Установите флаг По умолчанию для основной конфигурации
Привязка параметров:
- Для каждой конфигурации установите специфичные значения параметров
- Например:
application: cloud
host: perf
loopCount: 625
runType: lst
testName: Login_Test
userNum: 4
Управление конфигурациями:
- Используйте различные конфигурации для разных типов тестирования
- Настройте параметры в соответствии с требованиями каждого сценария
- Регулярно обновляйте конфигурации при изменении требований к тестированию
Настройка вебхука в Test IT
- Для автоматического запуска тестов из Test IT необходимо настроить вебхук для [запуска автотестов]https://docs.testit.software/user-guide/work-with-projects/set-up-webhooks/webhook-for-autotests.html#%D0%B2%D0%B5%D0%B1%D1%85%D1%83%D0%BA-%D0%B4%D0%BB%D1%8F-%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%B0-%D0%B0%D0%B2%D1%82%D0%BE%D1%82%D0%B5%D1%81%D1%82%D0%BE%D0%B2), который будет отправлять запросы в GitLab CI/CD.
Параметры вебхука в Test IT
Общие настройки:
- Название:
Запуск автотестов
- Состояние:
Запущен
- Название:
URL и метод:
- URL:
https://your-gitlab-instance.com/api/v4/projects/{PROJECT_ID}/trigger/pipeline
- Тип запроса:
POST
{PROJECT_ID}
— ID вашего проекта в GitLab (пример значения по умолчанию)
- URL:
Заголовки HTTP:
- Параметр:
Content-Type
- Значение:
application/json
- Параметр:
Тело запроса HTTP:
- Заменить системные параметры: ✅
- Экранировать параметры: ✅
- Пользовательский контекст:
{ "ref": "main", "token": "YOUR_GITLAB_TOKEN", "variables": { "TESTIT_PROJECT_ID": "$PROJECT_ID", "TESTIT_CONFIGURATION_ID": "$CONFIGURATION_IDS", "TESTIT_TEST_RUN_ID": "$TEST_RUN_ID", "JMETER_loopCount": "$CONFIGURATIONS_PARAMETERS[loopCount]", "JMETER_usrNum": "$CONFIGURATIONS_PARAMETERS[usrNum]", "JMETER_host": "$CONFIGURATIONS_PARAMETERS[host]", "JMETER_application": "$CONFIGURATIONS_PARAMETERS[application]", "JMETER_testName": "$CONFIGURATIONS_PARAMETERS[testName]", "runType": "$CONFIGURATIONS_PARAMETERS[runType]" } }
Примечание: Все указанные токены и ID являются примерами значений по умолчанию. Замените их на реальные значения из вашего окружения.
Описание параметров:
ref
— ветка репозитория для запуска тестовtoken
— токен GitLab для управления проектомTESTIT_*
— системные переменные Test IT, формируются автоматическиJMETER_*
— параметры JMeter, настраиваются в конфигурациях Test IT
Все ID проекта и конфигурации, приведенные в теле запроса — это примеры значений по умолчанию. Получить реальные данные ID можно через просмотр данных в интерфейсе Test IT или Chrome DevTools при работе с Test IT.
После настройки вебхуков и параметров, запуск любого автотеста в Test IT будет автоматически передавать данные в GitLab CI/CD, где будет выполняться соответствующий тест JMeter. Результаты тестирования будут автоматически переданы обратно в Test IT.
Условия успешного использования шаблона
Шаблон предоставляет полнофункциональную интеграцию между JMeter, GitLab CI/CD и Test IT. Он автоматизирует выполнение тестов производительности, генерацию отчетов и загрузку результатов в систему управления тестированием.
Для успешного использования:
- Настройте переменные окружения в GitLab
- Адаптируйте тест-планы под ваши требования
- Настройте Test IT CLI для вашего экземпляра
- Настройте вебхук в Test IT для автоматического запуска тестов
- Протестируйте интеграцию на тестовом окружении
При возникновении вопросов обращайтесь к документации JMeter, GitLab CI/CD и Test IT, а также к указанным выше ссылкам на документацию компонентов.
Документация
Все возможности шаблона и его параметры описаны в документации:
- JMeter JUnit Reporter Plugin: https://github.com/tilln/jmeter-junit-reporter
- Test IT CLI: https://docs.testit.software/user-guide/integrations/cli.html
- Документация Test IT: https://docs.testit.software/