一、JSON提取器(JSON Extractor)参数说明
可以通过 JsonPath 提取所需要的值,功能非常强大(注意取样器返回必须为 Json);底层采用 jackson 实现
右键 >>> 添加 >>> 后置处理器 >>> JSON提取器(JSON Extractor)
Apply to
-
Main sample and sub-samples:匹配范围包括当前父取样器并覆盖子取样器
-
Main sample only:默认;匹配范围是当前父取样器
-
Sub-samples only :仅匹配子取样器
-
JMeter Variable Name to use:支持对 Jemter变量值进行匹配
(1)、引用名称(Name of created variable):请求要引用的变量名称,如填写 result_num;自定义,多个变量用分号分隔
(2)、JSON路径表达式(JSON Path expressions): json path表达式,也是用分号分隔
(3)、匹配数字(0代表随机)(Match No. (0 for Random)):0 代表随机取值,n取第几个匹配值,-1匹配所有;比如:取1表示报文中的第1个对象匹配,取2表示报文中的第2个对象匹配
(4)、计算连接变量(Compute concatenation var (suffix _ALL)):如果找到许多结果,则插件将使用’,‘分隔符将它们连接起来,并将其存储在名为 _ALL的var中
(5)、缺省值(Default Value):如果参数没有取得到值,那默认给一个值让它取
二、准备工作
慕慕生鲜: 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)、线程组右键 <<< 添加 <<< 监听器 <<< 查看结果树
(9)、线程组右键 <<< 添加 <<< 取样器 <<< 调试取样器
(10)、点击启动,点击查看结果树,查看请求及取样器信息
HTTP请求中的响应数据,响应体中的数据可以看到,一共有两个符合查询规则的数据
(11)、点击调试取样器,查看响应数据下的响应体
var1:参数名,获取到的参数值
var1:获取到的参数值
var1_matchNr:匹配到的行数