jmeter之参数关联

使用jmeter进行接口测试时,经常会遇到如下场景:一个接口的返回值作为下一个接口的参数传参,这个时候需要参数关联。jmeter常用参数关联的方式有两种:json提取器和正则表达式提取器。

json提取器

json提取器面板介绍,如图:
jmeter之参数关联_第1张图片
image.png

接口返回值如下,提取token,则表达式为:$.token(如果有列表,则用[索引])

jmeter之参数关联_第2张图片
image.png

在其他接口使用${参数引用名},列子:


jmeter之参数关联_第3张图片
image.png

正则表达式提取器

使用正则表达式提取器需要一定的正则表达式知识,此次只会介绍jmeter万金油正则表达式,使用大多数场景
():括起来的部分就是要提取的。
.:匹配除换行外的任何字符串。
+:代表+号前面的字符必须至少出现一次(一次或多次)。
?:代表?前面的字符最多可以出现一次,在找到第一个匹配项后停止(0次或1次)。
:代表号前面的字符可以不出现,也可以出现一次或者多次(0次、1次或者多次)
(.*):贪婪模式,匹配尽可能多的字符
(.*?)或(.+?):匹配尽可能少的字符,一旦匹配到第一个就不往下走了。

贪婪与非贪婪模式区别:


jmeter之参数关联_第4张图片
image.png

界面如下,每个参数图中已有介绍,正则表达式不仅可以提取主体,也可以提取信息头、响应信息等等,和json提取器相比,适用范围更加广泛


jmeter之参数关联_第5张图片
image.png

需要提取的接口返回,提取access_token:


jmeter之参数关联_第6张图片
image.png

则正则表达式为:access_token":"(.*?)","token_type

(.*?)为jmeter万金油正则表达式,适用绝大多数场景,即使不会正则表达式,也可以使用,套用即可,简单方便。

{"data":{"access_token":"F2XV5UV2edXi6vbFqtge0ZuZvzpCtuWyQiTtXNHS","token_type":"Bearer","expires_in":"604800","refresh_token":"8Gu99i7GnDS27uLBu39yPvjZ71QwpTT10alzRYcJ"}}
==》
{"data":{"access_token":"(.?)","token_type":"Bearer","expires_in":"604800","refresh_token":"8Gu99i7GnDS27uLBu39yPvjZ71QwpTT10alzRYcJ"}}
==》
access_token":"(.
?)","token_type
==》
token":"(.*?)","token

调用的方式和json提取器相同:${参数的引用名}

你可能感兴趣的:(jmeter之参数关联)