Редактор групп#
В редакторе групп можно визуально настроить поведение виртуальных пользователей во время выполнения тестов.
В редакторе можно сформировать логический сценарий эмуляции бизнес-процесса или отправки запросов RESTful API. С помощью Drag & Drop:
добавляйте в группу:
транзакции;
логические элементы, например, условия и циклы.
изменяйте порядок элементов в группе.
В запросах и логических элементах можно использовать базовые и дополнительные функции JMeter.
Для транзакций и логических элементов отображается количество вложенных элементов, например, .
При наведении курсора отображается информация для запросов:
Редактирование запросов#
Перейдите в запрос или нажмите на кнопку .
Отредактируйте HTTP-запрос или gRPC-запрос.
Если в запросе URL указан некорректно или не указан, то при сохранении группы запрос подсвечивается красным цветом.
Добавление логических элементов#
for each#
Элемент for each перебирает массив значений входной переменной и отправляет вложенные запросы. Каждое последующее значение входной переменной влияет на выходную переменную.
Параметры элемента for each:
input variable. Наименование входной переменной. Указывается в формате
myInputVariable
, не используйте${myInputVariable}
и спецсимволы;start index. Начальный индекс для цикла. Первый элемент цикла рассчитывается как start index +1;
end index. Конечный индекс для цикла;
output variable. Наименование выходной переменной. Указывается в формате
myOutputVariable
, не используйте${myOutputVariable}
и спецсимволы.
Пример использования элемента for each:
Обновить информацию о пользователях интернет-магазина:
Первый запрос получает список пользователей:
{ "page": 1, "data": [ { "id": 1, "email": "michael.lawson@mycompany.org", "first_name": "Michael", "last_name": "Lawson" }, { "id": 2, "email": "lindsay.ferguson@mycompany.org", "first_name": "Lindsay", "last_name": "Ferguson" }, { "id": 3, "email": "tobias.funke@mycompany.org", "first_name": "Tobias", "last_name": "Funke" } ] }
Извлеките из ответа все номера вхождений для ID пользователя, например, с помощью границ:
Элемент for each перебирает массив ID пользователей и обновляет информацию о каждом из них:
if#
Элемент if задает условия для выполнения вложенных запросов.
Параметр элемента if:
condition. Проверяемое условие. Вложенные запросы будут отправлены, если условие истинно. Условием может быть переменная или функция, которая возвращает значение true или false. Используйте функции __groovy, например:
${__groovy(vars.get("myVar") != "Invalid" )} ${__groovy(vars.get("myInt").toInteger() <=4 )} ${__groovy(!${path}.equals("25"))}
Пример использования элемента if:
Получить данные о товарах, если ID категории товаров равна “25”:
loop#
Элемент loop выполняет вложенную логику указанное количество раз.
Параметр элемента loop:
loop count. Количество итераций цикла. Может быть статическим числом или переменной. Если указать значение -1, то цикл выполняется бесконечно в пределах, указанных в профиле нагрузки.
Пример использования элемента loop:
Отправить 5 HTTP-запросов для создания пользователей, а затем 1 раз отправить запрос для получения списка пользователей:
while#
Элемент while отправляет вложенные запросы, пока проверяемое условие истинно. Условие проверяется до и после отправки вложенных запросов. Элемент while используется, когда невозможно определить точное количество итераций цикла.
Параметры элемента while:
condition. Проверяемое условие цикла. Возможные значения:
Пустое значение. Цикл завершается, когда последний запрос завершается с ошибкой;
LAST. Цикл завершается, когда последний запрос завершается с ошибкой. Если последний запрос перед элементом while завершился ошибкой, то вложенные запросы не отправляются;
Условие. Вложенные запросы будут отправлены, если условие истинно. Условием может быть переменная или функция, которая возвращает значение false. Используйте функции __groovy, например:
${__groovy(!"${myvariable}".equals("FINISHED"))} ${__groovy(${counter}<=5)} ${__V(login_${count})} != "NotFound"
Пример использования элемента while:
Удалять товары из корзины, пока корзина не станет пустой:
Переименование элементов#
Чтобы переименовать группу или транзакцию, нажмите на название элемента и измените его.
Удаление элементов#
Чтобы удалить группу, транзакцию или запрос, нажмите на кнопку .
Чтобы удалить все группы:
Вернитесь на вкладку Thread groups.
Нажмите на кнопку Действия ⋮ и выберите пункт Удалить все тред группы.