JMeter - Пользовательский счетчик не увеличивается для цикла - PullRequest
0 голосов
/ 21 ноября 2018

Я новичок в JMeter, и я пытался увеличить переменную счетчика, предварительно определенную в определяемых пользователем переменных, используя контроллер цикла и постпроцессор JSR223, и, похоже, он не работает должным образом.Я рассмотрел различные примеры циклов JMeter и примеры счетчиков, чтобы разобраться с этим, но счетчик элемента конфигурации также не увеличивался с циклом.Может кто-нибудь, пожалуйста, дайте мне знать, что я делаю неправильно?

Это пользовательский счетчик переменных:

This is the user defined variable counter

Вот как я делаю цикл:

This is how I do loop

И вот как я пытаюсь увеличить счетчик с помощью постпроцессора, и журнал показывает, что счетчикне увеличивается для каждого цикла.Я хочу получить счетчик до 5:

And this is how I am trying to increment the counter using post processor and the log displays that the counter is not incrementing for each loop. I want to get the counter upto 5

[РЕДАКТИРОВАТЬ] Я думаю, я не понял, почему я использовал $ {counter} чтобы проверить.Я пытался оценить переменную счетчика в другой переменной как «$ {__ V (транзакция _ $ {счетчик})}», потому что это необходимо добавить в текстовый файл.Например, если транзакция_3 имеет значение «110001», если я добавлю «$ {__ V (транзакция _ '+ vars.get (' counter ') +')}», сохраненный текст показывает «транзакция_3», и если я это сделаю'$ {__ V (транзакция _ $ {счетчик})} ", тогда я получаю правильное значение" 110001 ", сохраненное в текстовом файле, в то время как на следующей итерации счетчик не увеличивается.Есть ли способ решить эту проблему?

Это то, как я использовал переменную внутри переменной, и она показывает, что значения не меняются, потому что счетчик не меняется.

И это изображение, как я пытаюсь сделать с vars.get (), и это показывает, что он просто помещает имя переменной вместо оценки значения каждого элемента.

1 Ответ

0 голосов
/ 21 ноября 2018

Согласно документации JSR223 Sampler :

JMeter обрабатывает ссылки на функции и переменные перед передачей поля сценария интерпретатору, поэтому ссылки будут разрешены только один раз.Ссылки на переменные и функции в файлах сценария будут дословно передаваться интерпретатору, что может вызвать синтаксическую ошибку.Чтобы использовать переменные времени выполнения, пожалуйста, используйте соответствующие методы props, например,

props.get("START.HMS");
props.put("PROP1","1234");

Поэтому измените последнюю строку вашего скрипта так:

log.info(vars.get('counter'))

Демонстрация:

enter image description here

Также имейте в виду, что использовать намного проще:

  1. Счетчик тестовый элемент или __ counter () функция , ознакомьтесь Как использовать счетчик в статье JMeter Test для получения более подробной информации
  2. Loop Controller предоставляет ${__jm__Loop Controller__idx} Переменная JMeter, которая содержит текущую итерациюномер
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...