Как обеспечить запуск однократного контроллера в Jmeter - PullRequest
0 голосов
/ 10 октября 2018

Я новичок в Jmeter и хочу иметь возможность запускать некоторые запросы на установку только один раз, в которых настраиваются некоторые переменные, прежде чем я затем выполню набор дополнительных запросов для такого количества пользователей, которое я установил в Number ofГруппа тем пользователей.Этим пользователям передаются переменные, созданные в контроллере Once Only.

Я унаследовал скрипт следующим образом, используя контроллер Once Only:

Script

Если для параметра «Число потоков» задать значение 10, чтобы увеличить скорость до 10 за одну секунду и запустить в течение одной минуты, я ожидаю, что число выборок (запросов), выполненных в контроллере «Только один раз», будет отображаться как 1. Я толькохотите, чтобы эти запросы выполнялись один раз, а затем последующие запросы использовать данные настройки.

Почему тогда, когда я запускаю, я вижу сэмплы как 10 в запросах, которые установлены в контроллере Only Only:

aggregate report

Имейте в виду, что могут быть некоторые фундаментальные недоразумения, учитывая, что я новичок в Jmeter.

Я нашел контроллер группы потоков setUp, который, похоже, мне и нужен.Тем не менее, похоже, что переменные, извлеченные с использованием экстрактора JSON, не передаются в следующую группу потоков «Load Test»

setUp Thread Group

Спасибо

Ответы [ 2 ]

0 голосов
/ 10 октября 2018

Согласно Однократный контроллер Документация:

Однократный логический контроллер сообщает JMeter обрабатывать контроллер (ы) внутри него только один раз для каждого потока и передавать любойзапросы под ним во время дальнейших итераций по плану тестирования.

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

Поскольку у вас есть 10 потоков, каждый из 10 потоков выполнит запросы один раз.

Если вы хотите выполнить запрос только одним потоком, независимо от количества запросов в группе потоков - я бы рекомендовал перейти на Если контроллер вместо

  1. Замена однократного контроллера на контроллер If
  2. Используйте следующее условие:

    ${__groovy(ctx.getThreadNum() == 0 &&  vars.getIteration() == 1,)}
    
0 голосов
/ 10 октября 2018

Использовать Once Only Controller для запуска определенных сэмплеров для каждого потока

Once Only Logic Controller сообщает JMeter обрабатывать контроллеры внутри него только один разна поток

Вы можете добавить сэмплеры в группу потоков setUp , чтобы она выполнялась один раз перед тестом

выполнить до того, как тест перейдет к выполнению обычных групп потоков.

  • Примечание сохранить значение по умолчанию (особенно Количество потоков = 1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...