Переменный вход для тестирования нагрузки JMeter?
Мне нужно загрузить тестовую службу, которую я разработал, но мне нужны данные, которые я отправляю в веб-службу, чтобы иметь некоторую дисперсию.
Я установил Thread с запросом Http, и у меня есть параметр, который мне нужно установить, но я не вижу, как бы я хотел изменить содержимое параметра HTTP из запроса для запроса.
В идеале я хотел бы подать список элементов данных и пропустить JMeter через них.
Ответы
Ответ 1
Подготовьте вид csv файла со списком ваших тестовых параметров и используйте его для параметризации ваших тестовых пробоотборников, используя, по крайней мере, следующее:
Ответ 2
Один из способов - подготовить CSV файл со всеми значениями, которые вам понадобятся. После этого существует множество способов использования. Ответ Alies Belik перечислял большинство из них. Однако недостаток подхода CSV заключается в том, что вам нужно сгенерировать список значений, а в некоторых тестах вы не можете просто его повторно использовать без очистки/повторной инициализации базы данных.
Другим вариантом являются функции для генерирования случайных значений, обычно в сочетании с контроллером "Пользовательские переменные".
- __Random для генерации чисел в заданном диапазоне.
- __RandomString для генерации случайных строк заданной длины и содержащих набор символов.
Это мощный механизм, но я нахожу его несколько громоздким и неуклюжим.
Для простых переменных, таких как создание комбинаций имени пользователя/пароля/электронной почты, я предпочитаю и проще использовать Random Variable config элемент. Он доступен с Jmeter 2.3.3. Вы добавляете его в свою группу потоков и указываете переменную для хранения случайного значения для каждого потока. Вы можете позже ссылаться на эту переменную в вашем пробоотборнике HTTP, в параметрах GET/POST запроса, указав значение параметра testuser-${rnd}
для имени пользователя, testpass-${rnd}
для пароля. Каждый поток получит другое значение ${rnd}
, поэтому есть небольшая вероятность (но есть еще шанс), что вы получите повторяющиеся значения (пользователи).
Ответ 3
Помимо функций, упомянутых в ответе @zorlem, вы также можете использовать:
- __UUID для генерации псевдослучайного типа 4 универсально уникальный идентификатор, если вам нужно создать случайные и уникальные строки.