JMeter技术问题:嵌套Loop Controller的While Controller如何循环至指定整数
配置While Controller循环至programId为80的方法
核心配置步骤
假设你已通过JSON Extractor将所有programID提取为programId_1、programId_2这类带索引的变量,按以下方式设置While Controller:
- 设置循环终止条件
在While Controller的「Condition (function or variable)」输入框中填入:
${__javaScript(parseInt(vars.get('programId_${__counter(FALSE,)}')) != 80,)}
${__counter(FALSE,)}:生成自增计数器,遍历所有提取到的programID变量(第1次取programId_1,第2次取programId_2,以此类推)parseInt(...):把获取到的programID转为数字类型,避免字符串对比的误差!= 80:当当前programID等于80时,循环终止
适配你的变量名
如果JSON Extractor设置的变量前缀不是programId,替换成你实际的前缀即可。比如变量前缀是pid,就改成pid_${__counter(FALSE,)}。循环内引用当前programID
如果需要在循环逻辑里使用当前的programID,直接引用${programId_${__counter(FALSE,)}}即可(保持计数器一致)。
校验要点
- 确认JSON Extractor已正确提取所有programID,变量格式为「前缀_索引」的JMeter默认格式
- 若programID本身是字符串类型,确保转数字的逻辑不会报错(比如无非法字符)
内容的提问来源于stack exchange,提问作者vlatko606
相关产品推荐
相关产品推荐

