счетчик не сбрасывается в конце каждой итерации контроллера цикла в jmeter - PullRequest
0 голосов
/ 24 октября 2019

Я хочу сбросить счетчик в конце каждой итерации цикла. Я реализовал решение в своем скрипте, как на странице Jmeter - Счетчик цикла в то время как цикл не сбрасывается при выходе , но данное решение не работает для меня. Я использую apache jmeter 5.1.1 версию, которую я добавил ниже кода в JSR223 сэмплере вне контроллера while в контроллере транзакций

def counter=vars.get("counter"); ${__groovy(vars.put('counter'\, '2'),)}

Счетчик

enter image description here

Значение счетчика сбрасывается, но обновленное значение счетчика не переносится во вторую итерацию

logs: 2019-10-24 14:53:53,281 INFO o.a.j.p.j.s.J.JSR223 Sampler: counter value-----2

Поместил сэмплер JSR223 снаружи, в то время как controller/trasaction controller/loop controller.. Во всех отношениях он дает такой же ответ, как показано ниже

enter image description here

Мне нужен результат как

xrequest-1 

xrequest-2 

xrequest-3 

xrequest-4 

xrequest-5 

xrequest-6 

xrequest-7 

xrequest-8 . . . 

yrequest-1 

yrequest-2 

yrequest-3 

yrequest-4 

yrequest-5 

yrequest-6 . . .

Пожалуйста, помогите мне, если я что-то упустил.

1 Ответ

0 голосов
/ 24 октября 2019

Тебе даже не нужен счетчик.

Начиная с JMeter 5.0 В то время как контроллер предоставляет специальную переменную JMeter , которая выглядит следующим образом:

${__jm__While Controller__idx}

где While Controller должен соответствовать метке «Пока контроллер».

Так что если вам нужно посчитать итерации - вы можете просто обратиться к этой переменной. Начинается с нуля, то есть значение будет 0 на первой итерации, если вам нужно, чтобы номер итерации начинался с 1 - перейдите к функции __ intSum () , например:

${__intSum(${__jm__While Controller__idx},1,)}

Демо:

enter image description here

...