Jmeter关联
当请求之间有依赖关系,比如一个请求的入参是另一个请求返回的数据,这时候就需要用到关联处理,Jmeter可以通过“后置处理器”中的“正则表达式提取器”来处理关联。
下面我通过举例的方式进行说明
在进行自动化或者压力测试的过程中,比如进行一个收藏商品的操作,首先,收藏商品的前提是有userid,必须知道商品收藏到哪个用户的下面,所以在收藏商品的请求中,肯定会用到userid,那么userid怎么来呢,那就需要进行关联了
首先可以通过抓包的方式,或者在接口文档中找到,在哪个请求中会产生userid
然后在该请求上右键点击,添加后置处理器:正则表达式提取器

其中,
引用名称:变量名,可以通过变量名称进行调用参数
正则表达式:()括起来的部分就是要提取的,然后括号中使用正则表达式,代表提取部分
模板:用$$引用起来,如果在正则表达式中有多个正则表达式,则可以是$2$$3$等等,表示解析到的第几个值给title。如:$1$表示解析到的第1个值
匹配数字:0代表随机取值,1代表全部取值,通常情况下填0
缺省值:如果参数没有取得到值,那默认给一个值让它取,我填的11111111。

将取得的参数引用到请求中,使用${变量名}

最后自己检查,请求参数取值是否取值成功
对于JSON格式的数据,除了正则表达式获取器可以获取关联值,还有另外一个组件也可以获取
那就是JSON Path Extractor
首先,得在Jmeter中有JSON Path Extractor这个插件
比如说:
接口返回的JSON响应结果如下格式,如何获取 id 为4798的数据呢
{
"error_code": 0,
"stu_info": [
{
"id": 4798,
"name": "Wendy",
"sex": "男",
"age": 18,
"addr": "北京市昌平区",
"grade": "2",
"phone": "13200000006",
"gold": 100
}
]
}
首先在返回json的请求下,添加后置处理器JSON Path Extractor

其中,
Destination Variable Name:变量名,在请求中引用改变量的名称${变量名}
JSONPath Expression:去变量值得路径,如果包含数组,则用[],标明是数组中的哪个值
Default Value:默认取值,如果没取到值得话,则显示该值
如下图,是取json串中,第一个数组中的,id的值

引用方法:${test}

j结果查询:


浙公网安备 33010602011771号