Jmeter - у меня есть сценарий, в котором пользователи входят в систему один раз и несколько раз выполняют различные транзакции в потоке - PullRequest
0 голосов
/ 08 мая 2020

Jmeter -> Мне нужно выполнить нагрузочный тест, сценарий с 10 разными пользователями должен войти только один раз , а другие транзакции должны выполняться несколько раз (возможно, с использованием Thread). А авторизация 10 всех пользователей должна использоваться в других транзакциях.

Я попробовал «IF controller» с кодом «$ {__ groovy (ctx.getThreadNum () == 0 && vars.getIteration () == 1,)} "но авторизация используется только один раз в других транзакциях

Один раз также использовался только контроллер - не работает .. Я думаю, что здесь не хватает некоторых logi c.

JmeterScreenshot_Scenario

1 Ответ

0 голосов
/ 13 мая 2020
  1. Учитывая вашу текущую реализацию, будет авторизован только 1-й пользователь, остальные пропустят login запрос
  2. Если у вас 200 потоков (виртуальных пользователей) каждый из них необходимо войти в систему, контекст аутентификации локален для потока (виртуальный пользователь)

Итак, если вы планируете аутентифицировать только 10 пользователей, оставшиеся 190 не будут аутентифицированы, следовательно, все Дочерние элементы контроллера транзакций не будут работать.

Хорошим решением будет запрос дополнительных учетных данных, чтобы у каждого из 200 пользователей была собственная комбинация имени пользователя и пароля.

Если один пользователь может войти в систему только один раз, и невозможно иметь больше учетных данных, в качестве обходного пути вы можете аутентифицировать 10 пользователей где-нибудь в группе потоков setUp , а затем пройти аутентификацию context ( cookies , tokens , что угодно) в основную группу потоков через функцию __ setProperty () или подключаемый модуль межпотокового взаимодействия

...