как использовать функции jmeter в контроллере цикла

Мой план тестирования ниже! TestPlan ThreadGroup LoopController1 Sampler1 BeanShellPostProcessor Listener LoopController2 Sampler2

Как часть постпроцессора Beanshell, я помещаю значение счетчика в переменную props.put ("noOfRecords", vars.get ("msg_ #"));

Теперь это значение я помещаю во второй контроллер цикла как $ {__ P (noOfRecords, 0)}

Эта настройка не работает для итераций, где у нас нет записей. Таким образом, предыдущее значение "$ {__ P (noOfRecords, 0)}" учитывается при запуске Loop2.

Есть ли другой способ достичь счетчика динамических циклов?


person KUMAR    schedule 13.07.2015    source источник


Ответы (1)


Вы можете использовать переменные или свойства в контроллере циклов, чтобы изменить количество циклов во время выполнения.

Если свойство / переменная правильно установлено постпроцессором Beanshell в вашем тесте, он должен работать. То есть вам нужно явно установить значение 0, когда нет записи. В противном случае свойства (которые не будут уничтожены, пока вы не закроете JMeter) могут использовать предыдущее значение.

person vins    schedule 13.07.2015
comment
Да, это правильно, я устанавливаю значение по умолчанию как 0 с помощью $ {__ P (noOfRecords, 0)}, но все же принимается во внимание предыдущее значение. Есть ли способ сбросить значение для каждой итерации. т.е. установка 0 для переменной props в начале постпроцессора beanshell и обновление значения в его конце. Пробовал этот подход, но когда я печатаю значение, оно старое. - person KUMAR; 14.07.2015
comment
Можете ли вы загрузить свой файл .jmx? - person vins; 14.07.2015
comment
это было решено. Уловка заключалась в том, что значения props обновлялись после завершения работы постпроцессора. Таким образом, для следующей итерации значение будет старым, пока мы снова не установим его как часть постпроцессора. Спасибо за помощь - person KUMAR; 15.07.2015