Есть несколько вариантов генерации случаных значений. Самый просто способ - это использовать встроенные функции JMeter
__Random и
__RandomString. Первая функция генерирует рандомное значение в указанном диапазоне с в возможностью указания имени переменной для дальнейшего использования сгенерированного значения (${__Random(1,100,myRandom)}). Вторая функция генерирует рандомную строку указанной длины с использованием указанных символов также с возможностью указания имени(${__RandomString(5,abcdefghijk12345,myRandom)}).
В JMeter есть встроенная утилита для генерирования подобных функций (Option->Function Helper Dialog), в которой необходимо выбрать нужный тип, ввести входные значения и нажать кнопку [Generate].
Но у этих функий есть один минус. Если мы в
User Defined Variables объявим переменную и в качестве значения укажем __Random или __RandomString, то это рандомное значение сгенерится один раз на весь тест план и для всех пользователей. То есть если мы запускаем
Thread Group для 10 юзеров и каждый обращается к рандомной переменной, то все они получат одно и то же значение. Поэтому для этих целей лучше использовать
Random Variable (Add->Config Element->Random Variable).
Добавляем Random Variable и указываем в нем следующие параметры:
- имя переменной для дальнейшего обращения (Variable Name)
- формат (Output Format) (значение формата может состоять только из нулей, указывающих разрядность, или же с содержанием символов как перед нулями так и после)
- минимальное значение (Minimum Value)
- максимальное значение (Maximum Value)
- основу для генерации рандомных значений, которой по умолчанию является текущее время в миллисекундах ( Seed for Rundom function)
Параметр "Per Thread (User)": если значение параметра False, то генератор общий для всех Thread Group, если значение True, то генератор свой для каждого пользователя.
И так мы имеем следующую картину:
Теперь при использовании нашей переменной myRandom мы всегда будем получать новое значение.