关联:是请求与请求之间存在数据依赖关系,需要从上一个请求获取下一个请求需要回传回去的数据。Jmeter接口测试通过后置处理器正则提取和json提取实现关联。
一:正则表达式提取器
HTTP请求-后置处理器-正则表达式提取器
2.看一下需要提取的响应信息,在察看结果树的响应信息里查看
(此为访问一个登录系统的响应信息)
提取登录后获取的token,作为请求参数,用于其它接口请求使用
3.打开正则表达式提取器面板
引用名称:下一个请求要引用的参数名称,如填写token,则可用${token}引用它。
正则表达式:
():括起来的部分就是要提取的
.:匹配任何字符串。
+:一次或多次。
?:在找到第一个匹配项后停止。
模板:用$引用起来,如果在正则表达式中有多个正则表达式,则可以是$2等等,表示解析到的第几个值给token
匹配数字:0代表随机取值,1代表全部取值,通常情况下填0
缺省值:如果参数没有取得到值,那默认给一个值让它取,我填的Null
4.再在线程组下新建一个请求,将提取到的token作为变量调用,变量名为${token}
5.添察看结果数查看发送的请求参数变量是否提取正确
可看请求是使用该参数,即提取正确
二:Json Extractor
json提取器和正则一样,添加-后置处理器-Json提取器
安装Json path extractor插件查看json path
可用察看结构树中的 json path Tester测试自己所写的json path expression是否正常
打开Json提取器界面进行填写
names of created Variable :保存的变量名,后面使用
变
量
名
引
用
,
J
S
O
N
P
a
t
h
e
x
p
r
e
s
s
i
o
n
s
:
上
一
步
中
调
试
通
过
的
j
s
o
n
p
a
t
h
表
达
式
,
如
果
:
{变量名}引用, JSON Path expressions:上一步中调试通过的json path表达式,如果:
变量名引用,JSONPathexpressions:上一步中调试通过的jsonpath表达式,如果:.message
Match No.(0 for Random):匹配数字(0代表随机,1代表第一个,-1代表所有)
Default Values:找不到时默认值,一般设置为NOT FOUND
Compute concatenation var(suffix_ALL):是否统计所有,即将匹配到的所有值保存,名为“变量名_ALL”,使用场景需要获取的值有多个,后面需要对这一组数据进行操作。
注意:json串 []表示对象组成的数组,{}表示对象
可再用提取到的参数发送请求
扩充:
安装Json path extractor插件,下载plugins-manager.jar放在lib/ext目录下重启jmeter。
下载地址:插件下载
安装插件:options–plugins manager-Available plufins-勾选json/Yaml Plugins-点击apply changes and restart jmeter
安装完在后置处理器里添加jp@ga-Json/YAML Path Extractor