JMeter如何基于预设输入实现带嵌套条件的请求循环迭代
JMeter嵌套循环测试场景解决方案
一、嵌套循环实现方式
该需求完全可以通过JMeter自带组件实现,不需要编写自定义脚本,具体组件排布逻辑如下:
- 线程组下先添加「仅一次控制器」,内部放置获取车辆类型请求,参数固定设置为汽车,即可满足仅发送1次该请求的要求。
- 仅一次控制器同级下方添加第一层循环控制器,循环次数设置为2(对应2个汽车品牌),内部放置提交车辆品牌请求。
- 第一层循环控制器内部、品牌请求下方添加第二层嵌套循环控制器,循环次数可按需配置为对应品牌下的车型数量,内部放置提交车型名称请求。
如果需要动态适配不同品牌的车型数量,无需硬编码循环次数,直接把循环次数取值设为变量(例如${model_count}),从测试数据中读取即可。
二、多线程并发下的CSV数据配置
CSV文件结构设计
推荐采用扁平化结构存储测试数据,示例如下:
vehicle_type,brand,model,model_count 汽车,TATA,Altroz,3 汽车,TATA,Nexon,3 汽车,TATA,Harrier,3 汽车,Maruthi,Swift,2 汽车,Maruthi,Baleno,2
CSV数据集配置参数
- 文件名:选择本地存储的CSV文件路径
- 变量名称:对应表头填写
vehicle_type,brand,model,model_count - 分隔符:默认逗号即可,和CSV文件分隔符保持一致
- 遇到文件结束符再次循环:持续压测场景选
True,执行固定次数场景选False - 遇到文件结束符停止线程:执行固定次数场景选
True,持续压测选False - 每个线程是否独立迭代:选
True,保证多线程并发时每个线程读取独立的测试数据,不会出现数据争抢重复的问题。
内容的提问来源于stack exchange,提问作者Vivek Kanna
相关产品推荐
相关产品推荐

