JMeter的 If控制器没有考虑基于正则表达式提取器得到的变量条件
我在JMeter中定义一个if条件。每当正则表达式提取器中定义的变量包含一个值时,只有在这种情况下才触发下一个HTTP请求。可是IF条件无法识别,导致HTTP无法执行。
Thread Group
Single Controller
HTTP Request 1
Regular Expression Extractor
IF Controller
HTTP Request 2
正则表达式提取器从响应主体中取出一个值 "po_atid"
IF控制器 "${po_atid}" != "" && "${po_atid}" != "NOT_FOUND"
但IF条件根本不会成立。即使po_atid具有正确的值,HTTP请求2 也永远不会被执行。
解决方案
如果表达式字段中的 函数或变量 的结果等于 true,IF控制器才会执行其子项。
因此,你需要将表达式包裹成例如 __jexl3() 函数 的形式,如下:
${__jexl3("${po_atid}" != "" && "${po_atid}" != "NOT_FOUND",)}
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。