Запуск конкретного сэмплера в jmeter в интервалах - PullRequest
0 голосов
/ 28 февраля 2019

Я выполняю свои нагрузочные тесты в jmeter.У меня есть логин сервис и сервисX , который должен быть протестирован.Я хочу Authtoken от службы входа в систему для запуска serviceX.Токен истекает каждую минуту.В настоящее время у меня есть служба входа в ту же группу потоков и работает столько же, сколько serviceX.Я не хочу продолжать это.Я хочу запускать службу входа один раз в минуту в одном потоке и передавать токен в serviceX, а ServiceX запускает определенное количество потоков и времени.как этого добиться?

Ответы [ 2 ]

0 голосов
/ 01 марта 2019

Если вы используете только один токен во всех потоках (виртуальных пользователях), имеет смысл добавить еще одну группу потоков с 1 потоком и бесконечным числом циклов в ваш план тестирования и добавить HTTP-запрос сэмплер к нему вместе с соответствующим постпроцессором для извлечения токена.Также добавьте Постоянный таймер для добавления пауз между запросами, т. Е. Используйте 55000 миллисекунды в качестве значения задержки потока.

Получив токен, вы можете преобразовать его в свойство JMeter с помощью функции __setProperty ()

В своей «основной» группе потоков вы можете прочитать текущее значение токена.используя функцию __P ()

0 голосов
/ 01 марта 2019

Используйте Один только контроллер для достижения этой цели.Этот контроллер выполняет запрос внутри него только один раз per thread и передает любые другие запросы по нему во время дальнейших итераций по плану тестирования.

Таким образом, вы можете поместить свой сервис входа в систему в контроллере Once Only и serviceX за пределами контроллера.Вы должны настроить свою группу потоков соответственно для итераций, или вы можете обернуть serviceX в Loop Controller .

Пример:

Скажем, вы хотите login ваш первый поток только один раз, а затем хотите запустить serviceX 10 раз, вот пример плана тестирования ниже:

enter image description here

Помните, поскольку вы хотите входить в систему раз в минуту и ​​один раз, когда на каждом потоке работает единственный контроллер, поэтому вы должны соответствующим образом использовать группы потоков.Предположим, есть 2 потока, и они будут входить с интервалом в одну минуту, тогда конфигурации групп потоков будут такими:

enter image description here

Сейчас, если вы хотите запустить serviceX в течение 5 раз после входа в 1-й поток, поместите ваш serviceX в область действия контроллера цикла и значение счетчика циклов в 5

enter image description here

Вот результаты этого примера плана испытаний:

enter image description here

enter image description here

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...