jmeter的参数关联(参数依赖)

参数关联(即接口依赖),例如场景1:系统的其他功能需要登录接口返回的token或者sessionid(后面的接口需要用到前面接口返回的信息)

这就需要提取上个接口返回信息中的数据。

1.json格式信息提取

①将返回的数据使用json path tester转化为json格式,使用JSON Path Expression,提取返回json数据的表达式有绝对路径和相对路径之分:

绝对路径:$.变量名 

相对路径:$..变量名

如果是嵌套的数据,使用.一级级往里面取就行了,例如:{"key1":{"key2":{"key3":"xxxxx"}}},提取式:$.key1.key2.key3,如果是这种格式的{"data":[{"key1":"value1","key2":"value1"},

{"key3":"value1","key4":"value1"}

]}

提取表达式需要根据下标取提取:$data[下标值].key

提取表达式

上面的数据格式如果使用绝对路径提取表达式写为:$.data[1].key3     相对路径的提取表达式写为:$..key3

josn提取式

②将数据提取出来后,在需要依赖上个接口数据的接口请求中,添加--后置处理器--JSON取样器

json提取器

提取单个值:在需要提取返回数据的接口下添加json提取器(例如充值接口需要提取登录接口中需要的数据,那么就需要在登录接口中添加json提取器,自己第一次将json提取器添加到充值接口中,导致提取不到数据,实际就是json 提取器添加错了)

json提取器的配置



将json提取器添加到登录接口,就可以提取登录后的token值了(注意:要提取哪个接口的返回的数据,就添加在哪个接口下)


将json提取器放在登录接口下

json表达式相对路径和绝对路径,第一种方式$.data.token_info.token ;第二种$..token

登录接口返回的数据和json提取式

将登录接口中提取的token值,将表达式放在充值接口中,下次充值接口发送请求就会携带token信息

使用登录接口的token值

充值接口发送请求后会携带token信息,请求成功

请求成功

提取多个值:提取表达式之间使用;间隔开,一定要设置默认的值,不然会导致数据提取不出来,如果取不到值那么就会返回设置的默认值。

设置


提取成功


2.正则表达式提取器

经常有接口可能返回这种类型数据,我们需要提取data中的某个key的值,因为data对应的值是字符串格式的,那么这时候就只能使用正则表达式提取器提取其中的信息。


字符串格式


正则表达式提取器

例如要提取返回相应数据中的code的值

提取返回数据中的code的值

在正则表达式提取器中,设置引用名称,填写正则表达式,模板:$1$代表去第一个括号的值

设置


提取出code的值

提取多个值

提取多个值

提取成功,但是提取的两个值进行拼接后赋值给了recode,如果要将两个值单独拿出来使用,使用:变量名_g1,变量名_g2方式获取值,使用recode_g1和recode_g2,这两个数据是将recode的数据进行拆分所以可以单独使用。

提取成功
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容