Jmeter 当控制器运行无限循环时
在http请求的http响应上,我使用while控制器检查特定字段从一种状态到另一种状态。但while控制器即使在满足条件后也不会中断循环Jmeter 当控制器运行无限循环时,jmeter,Jmeter,在http请求的http响应上,我使用while控制器检查特定字段从一种状态到另一种状态。但while控制器即使在满足条件后也不会中断循环 { "data": { "uri": null, "taskId": "f5b6aaf3-8b14-49ba-a495-788eef5c523b", "taskStatus": "Ongoing
{
"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提取器
似乎很好。[无需更改]
${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的方法,看起来更简单