JMeter: Как выполнить цикл, пока в ответе JSON не появится переменная? - PullRequest
0 голосов
/ 01 февраля 2019

Я пытаюсь создать контрольный пример, в котором я повторяю попытки входа в систему с неверным паролем, пока не достигну своей последней попытки.

Это ответ JSON для обычной попытки:

{"fault": {"code":10020,"code/h":"0x2724","message":"Wrong password ","params": {"className":"VerificationFailed","badLoginCount": 3,"badLoginCountForChgPwd": 0,"maxBadLoginCount": 5}}}

Это ответ JSON для последней попытки:

{"fault": {"code":10020,"code/h":"0x2724","message":"Wrong password ","params": {"className":"VerificationFailed","badLoginCount": 4,"badLoginCountForChgPwd": 0,"isLastTry": true,"maxBadLoginCount": 5}}}

Разница заключается в дополнительном ${fault.params.isLastTry}.

Как мне создать этот while -контроллер?

1 Ответ

0 голосов
/ 04 февраля 2019
  1. Добавьте JSON Extractor как дочерний элемент запроса, который может вернуть тот или иной JSON
  2. Настройте его следующим образом:

    • Имена созданных переменных: lastTry
    • Выражения JSON Path: $..isLastTry

      enter image description here

  3. Поместите следующую __jexl3 () функцию на вход «Condition» контроллера:

    ${__jexl3("${lastTry}" != "true",)}
    
    [![enter image description here][4]][4]
    
  4. Вот какКонтроллер будет зацикливать запрос до тех пор, пока не будет найден атрибут "isLastTry": true

    enter image description here

...