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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jmeter的参数关联(参数依赖)相关的知识,希望对你有一定的参考价值。

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

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

①将返回的数据使用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

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

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

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

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

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

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

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

2.正则表达式提取器

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

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

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

提取多个值

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

jmeter的全局变量和csv参数化关联的操作

jmeter参数化关联

1、打开jmeter
在这里插入图片描述
在这里可以选择语言的设置
我们将jmeter修改成中文的语言
在这里插入图片描述
照常创建线程组,然后创建http请求和csv参数化关联的文件
在这里插入图片描述
在这里插入图片描述
2、打开聚合函数的网页
我们在这里查询天气预报的聚合函数的接口
在这里插入图片描述
3、创建一个本地的文件里边写入内容(刚才编辑时创建的键值对和参数值)
在这里插入图片描述
4、设置线程数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4、运行查看结果
在这里插入图片描述

用户全局变量

创建一个用户变量
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

以上是关于jmeter的参数关联(参数依赖)的主要内容,如果未能解决你的问题,请参考以下文章

Jmeter关联实现及参数化使用解析

手把手教会使用Jmeter进行压测,涉及参数提取参数关联CSV参数化

jmeter之关联的使用

jmeter关联下载文件简单压测

使用功能依赖的关联参数限制

区别java依赖与关联