JMETER: при сбое условия с синтаксической ошибкой - PullRequest
0 голосов
/ 01 апреля 2020

У меня есть сценарий, в котором мне нужно дождаться ответа. Мне нужно отправить тот же запрос, пока я не получу требуемый текст ответа. Я включил мои образцы http в то время как l oop со счетчиком. Сейчас я не могу получить правильное условие. Пробовал в следующих условиях.

$ {__ javaScript (("$ {recordTypeLabel1}"! = "Asdf" && $ {counter} <5),)} $ {__ jexl3 ("$ {recordTypeLabel1} "! =" asdf ",)} Оба сбоя. Как справиться с этим? Пожалуйста, помогите. </p>

Threadgroup     
Once only controller Login 
loop controller  
            HTTP req 
            HTTP req 
            While loop {
            Counter 
            HTTP request
            HTTP Request 
               JSON extractor 
            }
           HTTP req  
Once only Controller Logout

1 Ответ

1 голос
/ 01 апреля 2020

Правильный синтаксис для функции __ jexl3 () будет выглядеть следующим образом:

${__jexl3("${recordTypeLabel1}" != "asdf" && ${__jm__While Controller__idx} < 5,)}

Не используйте функцию __ javascript (), так как это некоторая форма анти-производительности -pattern, придерживайтесь функций __jexl3 () или __ groovy () , если вам нужно написать дополнительные логи c

Также вам не нужно вводить счетчик, начиная с JMeter 5.0 у вас есть специальная предопределенная переменная с именем ${__jm__While Controller__idx}, которая содержит номер итерации на основе нуля контроллера While. (Если вы измените метку контроллера контроллера на что-то другое - обязательно измените соответствующую переменную)

  1. Выход, когда число l oop превышает порог

    enter image description here

  2. Выход, когда значение переменной становится ожидаемым:

    enter image description here

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