Jmeter 当控制器运行无限循环时

Jmeter 当控制器运行无限循环时,jmeter,Jmeter,在http请求的http响应上,我使用while控制器检查特定字段从一种状态到另一种状态。但while控制器即使在满足条件后也不会中断循环 { "data": { "uri": null, "taskId": "f5b6aaf3-8b14-49ba-a495-788eef5c523b", "taskStatus": "Ongoing

在http请求的http响应上,我使用while控制器检查特定字段从一种状态到另一种状态。但while控制器即使在满足条件后也不会中断循环

{
    "data": {
        "uri": null,
        "taskId": "f5b6aaf3-8b14-49ba-a495-788eef5c523b",
        "taskStatus": "Ongoing"
    },
    "apiUrl": "http:\/\/.int:8081\/release01-nightly-api\/\/2192_IND_1_40",
    "statusCode": "102"
}
因此,上面的响应
“taskStatus”:“continuousing”
在一段时间后将成为
“Successfull”
,可能是
20-30秒
,因此我使用了一个while控制器,它在满足条件后不会中断

{
    "data": {
        "uri": null,
        "taskId": "f5b6aaf3-8b14-49ba-a495-788eef5c523b",
        "taskStatus": "Ongoing"
    },
    "apiUrl": "http:\/\/.int:8081\/release01-nightly-api\/\/2192_IND_1_40",
    "statusCode": "102"
}
下面是while controller的详细信息, 我正在使用JSON提取器获取状态 执行快照,
我在这里做错了什么

一些配置错误的事情,遇到类似情况这是我们实施的解决方案

  • 第一个
    http请求
    json提取器
    似乎很好。[无需更改]


  • 现在,在while控制器中,请执行更改
    ${uuu javaScript(${task\u status})!=“Success”&&parseInt(vars.get(“statusCounter”))一些配置错误的事情,遇到类似情况时,这是我们实现的解决方案

  • 第一个
    http请求
    json提取器
    似乎很好。[无需更改]


  • 现在,在while控制器中,请执行更改
    ${uuu javaScript(${task\u status})!=“Success”&&parseInt(vars.get(“statusCounter”)如果表达式错误,请将其更改为:

    ${__groovy((!vars.get('task_status').equals('Success') && (vars.get('__jm__While Controller__idx') as int ) < 30),)}
    
    ${groovy((!vars.get('task_status').equals('Success')&&(vars.get('uuujm_uwhile Controller_uidx')as int<30),}
    
    无需进行其他更改

    继续使用以计算表达式


    有关JMeter中Groovy脚本的更多信息:

    如果表达式错误,请将其更改为:

    ${__groovy((!vars.get('task_status').equals('Success') && (vars.get('__jm__While Controller__idx') as int ) < 30),)}
    
    ${groovy((!vars.get('task_status').equals('Success')&&(vars.get('uuujm_uwhile Controller_uidx')as int<30),}
    
    无需进行其他更改

    继续使用以计算表达式


    关于JMeter中Groovy脚本的更多信息:

    另外,由于条件设置不正确,while控制器在无限中运行,请尝试进一步避免。参考:
    task\u status\u Upd
    是内部json提取器值哇,非常感谢。它工作正常,while控制器也在运行在infinite中,由于条件设置不正确,请尝试进一步避免。参考:
    task\u status\u Upd
    是内部json提取器值Simply哇,非常感谢。工作正常。您也可以尝试Dmitri的方法,看起来更简单。您也可以尝试Dmitri的方法,看起来更简单