1、json提取器参数配置
2、JSON Path Tester使用
3、
场景:
这个是一个景点列表接口,从列表中打开每个景点id是不同的。这里为了实现获取列表中所有景点,然后随机打开某个景点查看。使用JSON 提取器,随机取值,然后传参。
4、JSON Extractor一个接口需要传多个不同的变量的配置
JSON Extractor主要用于匹配返回数据结构为json的参数提取
一、基础信息
所记录功能名称:JSON Extractor
二、使用需求
在对返回结果较复杂且为json结构的HTTP请求进行提取某一个值,以用作其他接口使用或者用来断言的等。
三、使用方法
1、添加步骤:选择线程组中的HTTP请求——右键“添加”——后置处理器——JSON Extractor
这一过程主要说明如何去写JSON Extractor匹配表达式以及如何去验证自己写的JSON Extractor是否正确
J
SON Path Tester
JSON提取器的好助手JSON Path Tester
在
使用jmeter的
查看结
果
树
中的 json path expression可以测试自己所写的JSON Extractor是否正常
作用就是可以快速查看到我们写的json path表达式在JSON中提取到的值是否是我们需要的值。可以节省调试时间。
在第三步中data[0].id的用法说明:[0] 表示匹配第1个列表的id值,
data[1].id的用法说明:[1] 表示匹配第2个列表的id值,
data[*].id的用法说明:[*] 表示匹配data中所有id的值
四、使用场景
场景:
这个是一个景点列表接口,从列表中打开每个景点id是不同的。这里为了实现获取列表中所有景点,然后随机打开某个景点查看。使用JSON 提取器,随机取值,然后传参。
另外一个接口使用上面接口返回值中的id,这里是随机传参
成功传参,每个详情页基本不一样,从上面获取的所有id中随机传值。
五、特别关注
1、json串 []表示对象组成的数组,{}表示对象
2、如果需要同时匹配多个值,可以如图设置
https://blog.csdn.net/weixin_41665637/article/details/86482477
https://www.cnblogs.com/Zhan-W/p/10985816.html
Jmeter
正则
提取
同一个参数不同顺序的
方法
使用
场景正则
提取
的
使用
方法
使用
场景
有时候我们
使用
JMeter
正则
提取
某个参数时,发现有多个相同的参数,但是我们只想
提取
特定顺序的某一个,那我们这时候要怎么处理呢?
正则
提取
的
使用
方法
1、打开正则
提取
器
,如截图
注意点:-1代表匹配所有,1是
随机
匹配一个
2、引用参数第一个和第二个,如截图
注意点:下划线1就是第一个,下划线2就是第二,依次同理。
String response_data = prev.getResponseDataAsString();
//日志打印
获取
请求的
返回值
log.info("==============response_data=="+response_data+"=========================");
//将String类型的
返回值
构造成
JSON
Object对象
JSON
Obj.
然后写一个beanshell
后置
处理器
代码: ${__setProperty(refresh_token,${refresh_token},)};
把参数变成全局变量,线程组B在
使用
变量时加一个函数,${__property(refresh_token)}
方法
2:直接用beanshell
后置
处理器
提取
线程组A的参数,然后放进
jmeter
变量
中
String response=prev.getResponseDataAsString()
Http
接口
返回的
数据
,一般都是
json
格式的,如果需要
提取
出其
中
的某个
数据
,作为后续其他
接口
的入参,那么可以
使用
json
提取
器
。
从
接口
中
提取
一个
数据
以登录
接口
为例,当登录成功后
接口
会返回一个token,如下图所示这样的,后续其他
接口
会
使用
该token作为header入参
使用
那么在
jmeter
的http请求下,新添加一个
json
提取
器
json
提取
器
中
进行如下配置:
其
中
$,代表根元素
其
中
$.data.id,就代表我要
获取
到的参数
将
获取
到的值赋给变量token,那么后续的
接口
中
就可以
使用
${
JMeter
处理responses 的
json
对于请求1返回的结果,处理以后作为请求2的参数,
JMeter
提供了正则表达式
提取
器
如下:这样也可以通过正则表达式
获取
responses的某个值但是对于大部分请求返回的结果,都是
json
,有一个更方便
使用
的插件:
JSON
Extract
or
不过得首先下载插件 https://
jmeter
-plugins.org/wiki/
JSON
Path
Extrac
一、
使用
场景
json
extract
or
后置
处理器
用在返回格式为
json
的HTTP请求
中
,用来
获取
返回的
json
中
的某个值。并保存成变量供后面的请求进行调用或断言等。
二、
使用
方法
步骤一:选择HTTP请求—>
后置
处理器
—>
JSON
Extract
or
说到
后置
处理器
第一时间肯定想到的是正则表达式,实际运用
中
大多数
接口
响应是
json
格式的,如下这种
json
格式,想要
提取
所有name的值供后续
接口
使用
应该怎么做呢?
"server_time": 1633746337,
"data": {
"total": 100,
"list": [{
"id": 1,
"name": "xiaohua"
"id": 2,
"name": "xiaoming"
},...
Jmeter
使用
JDBC Request
获取
数据
库
中
数据
,很多人都会用,因为测试
中
,有时候需要大量的用户进行登录,然后
获取
数据
库
中
真实的
数据
用于测试
前面也详细讲到 JDBC Request 的具体
使用
,一般是...