JMeter:如何循环直到变量出现在JSON响应中?

时间:2019-02-01 07:34:48

标签: json while-loop jmeter response

我正在尝试创建一个测试用例,在该用例中,我将通过错误的密码登录尝试进行循环,直到达到最终的尝试为止。

这是正常尝试的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 :(得分:0)

  1. 添加JSON Extractor作为请求的子代,该请求可以返回此JSON或该JSON
  2. 配置如下:

    • 已创建变量的名称:lastTry
    • JSON路径表达式:$..isLastTry

      enter image description here

  3. 将以下__jexl3() function放入While控制器的“条件”输入中:

    ${__jexl3("${lastTry}" != "true",)}
    
    [![enter image description here][4]][4]
    
  4. 就是这样,While Controller如何循环请求直到找到"isLastTry": true属性

    enter image description here