参数关联有什么用?
一个接口的响应信息中的某个字段值,是下个接口的响应信息中的某个字段值,这时候就需要用到参数关联来处理这个值。
应用场景
比如说一个商城系统,下订单请求时,会返回个订单号或者其它凭证,当支付请求时会对这个订单号或其它凭证进行校验。所以支付请求需要带上下订单请求响应数据中的订单号或其它字段值,这时候就可以使用参数关联来提取和获取
Jmeter处理参数关联
Jmeter的参数关联其实是参数在不同的采样器(sampler)的存储和传递。提供了两种方式:后置处理器-正则表达提取器、jsr223 postprocessor
一、正则表达提取器
- 1、选择正则表达提取器(添加在第一个请求)
选择
- 界面参数和介绍:
参数介绍
模板字段的值:
$-1$:表示取所有值
$0$:表示随机取值
$1$:表示取第1个
$2$:表示取第二个
以此类推:$n$:表示取第n个
对应的正则规则:
正则规则
- 2、一个需要根据cookies验权的请求,去使用正则表达提取器拿到的登录请求响应数据中token字段的值(${变量名}):
需要验权的请求
结果:获取到token值并通过验证
运行结果
ps.如果获取不到值,则检查下正则是否写错了、需要的响应字段拿错了或者变量名写错了等原因
- 3、检查正则是否正确:
在设置了正则表达提取器的请求下,添加查看结果树,然后勾选“Regular exp”(也可以百度搜索在线正则检查网站)
正则检查
内容拓展:
https://www.cnblogs.com/VashGu927/p/7640447.html
二、jsr223 postprocessor
没使用过,不敢乱写。找到的博文:
https://blog.csdn.net/Chris_111X/article/details/79639937