Цикл while JMeter (остановка цикла с использованием собственного индекса) - PullRequest
0 голосов
/ 02 октября 2018

Я использую JMeter 5.0 и пытаюсь зациклить набор результатов базы данных.

Для простоты здесь мы просто будем использовать «3» вместо vars.getObject («resultSet»)) .size () - размер моего результирующего набора)

Я пытаюсь использовать собственный индекс компонента WHILE, чтобы остановить его

(Пожалуйста, не показывайте мне, как использовать компонент счетчикатак как я мог заставить его работать сам, учитывая всю помощь, которую я нашел относительно JMeter, в то время как WHILE использует счетчик, но он для меня нелогичен (без каламбура), так же, как увеличение «i» на любом другом языке:

` 
for(int i = 0;i < 10;)
    {
   // do stuff
    i++;
    }
`

I Синтаксисы, которые я нашел и попробовал (мой компонент while называется LOOP):

  1. ${__jm__LOOP__idx} < 3: не возвращает ошибок, но не останавливается

  2. ${__javaScript("${__jm__LOOP__idx}" < 3 )}: не возвращает ошибок, но также не выполняет цикл.

  3. ${__javaScript(${__jm__LOOP__idx} < 3)}: работает и прекращает цикл после 3, но возвращает эту ошибку:

    javax.script.ScriptException: <eval>:1:1 Expected ; but found { ${__jm__LOOP__idx} < 3 ^ in <eval> at line number 1 at column number 1 at jdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScriptEngine.java:470) ~[nashorn.jar:?]

Заранее благодарим за любую помощь, которую вы можете оказать, и заваше время.

1 Ответ

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

При условии, что ваш Хотя контроллер назван LOOP , используйте это как условие, он использует функцию __jexl3 :

$ {__jexl3 (vars.get ("__jm__LOOP__idx") == null || vars.get ("__jm__LOOP__idx") <3,)} </p>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...