【P34】JMeter ForEach控制器(ForEach Controller)


一、ForEach控制器(ForEach Controller)参数说明

可以对一个组变量进行循环迭代;该组件通常与后置处理器中的 JSON 提取器、正则提取器、边界提取器等进行联合使用

选择线程组右键 >>> 添加 >>> 逻辑控制器 >>> ForEach控制器(ForEach Controller)

在这里插入图片描述

  • 输入变量前缀(Input variable prefix):默认为一个空字符串作为前缀

  • 开始循环字段(不包含)(Start index for loop(exclusive)):默认从0开始,如果填写是5,实际是从5+1个开始执行

  • 结束循环字段(含)(End index for loop(inclusive)):默认从0开始,如果填写是5,实际是从5+1个结束执行

  • 输出变量名称(Output variable name):变量名,在后续的操作中可以直接引用。比如,此处填city,那么其他地方引用时可以用 ${city}

  • 数字之前加上下划线 “_”?(Add “_” before number ?):勾选,变量名与索引之前有下划线 “_”,比如:city_1。不勾选,变量名与索引之前无下划线 “_”,比如:city1

二、准备工作

慕慕生鲜: http://111.231.103.117/#/login

  • 进入网页后,登录,页面提供了账户和密码

  • 搜索框输入“虾”

  • 右键检查或按F12,打开调试工具,点击搜索

在这里插入图片描述

三、测试计划设计

(1)、测试计划右键 <<< 添加 <<< 配置元件 <<< HTTP请求默认值

在这里插入图片描述

  • 协议:http

  • 服务器名称或IP:111.231.103.117

  • 端口:8083

  • 内容编码:utf-8

(2)、在网页中,调试中点击网络,找到请求,点击标头找到请求标头,复制所有请求标头

在这里插入图片描述

(3)、测试计划右键 <<< 添加 <<< 配置元件 <<< HTTP信息头管理器

在这里插入图片描述

  • 点击从剪切板添加,会将复制的值自动添加进去

(4)、测试计划右键 <<< 添加 <<< 线程(用户)<<< 线程组

(5)、在网页中,调试中点击网络,找到请求,点击负载,复制参数值

在这里插入图片描述

(6)、线程组右键 <<< 添加 <<< 取样器 <<< HTTP请求

在这里插入图片描述

  • 协议:GET

  • 路径:/product/list

  • 点击从剪切板添加,会自动添加;也可手动添加

(7)、HTTP请求右键 <<< 添加 <<< 后置处理器 <<< JSON提取器

在这里插入图片描述

  • 勾选 Main sample only

  • Name of created variable:var1

参数名为:var1

  • JSON Path expressions:$…list[*].name

$:开始符固定的;..:0到多个级别,单个为根级别;list:返回的响应数据结构,相当于字典,key为list的值;name:list值中名为name键的值

  • Match No. (0 for Random):-1

匹配所有符合正则表达式的值

(8)、HTTP请求右键 <<< 添加 <<< 后置处理器 <<< 调试后置处理程序

在这里插入图片描述

  • 参数默认即可

(9)、线程组右键 <<< 添加 <<< 监听器 <<< 查看结果树

(10)、点击启动,点击查看结果树,查看请求结果

在这里插入图片描述

如图,请求成功,获取到两个符合正则表达式的值,这两个值为一组数据

(11)、线程组右键 <<< 添加 <<< 逻辑控制器 <<< ForEach控制器

在这里插入图片描述

  • 输入变量前缀:var1

  • 开始循环字段:0

从每组的第一个数据开始获取;左开右闭

  • 结束循环字段(含):2

从0开始,执行到每组下标为2的数据结束获取,不包含下标为2的数据;左开右闭

  • 输出变量名称:new_var1

  • 勾选:数字之前加上下划线 “_”?

(12)、ForEach控制器右键 <<< 添加 <<< 取样器 <<< JSR223 Sampler

在这里插入图片描述

log.info("打印变量:"+vars.get("new_var1"));

(13)、打开日志,再次启动,查看日志信息

点击菜单选项,点击日志查看

在这里插入图片描述

如图,日志中,打印出所获取到的两个变量值

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小鹿快跑~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值