首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

捉虫记-取我需要的,给你想要的,Jmeter

不管是进行结果断言,还是接口与接口之间的参数传递,都需要获取接口响应中的对应值。

在Jmeter中常用的这两种方式,基本上能满足大部分的需要。

至少能满足现阶段我的需要了。

1

正则表达式提取器

打开Jmeter,在http请求下添加后置处理器--正则表达式提取器。(简单记下-处理请求后的数据,所以在后置处理器中添加正则提取器)

看一眼“正则提取器”界面。

默认选中的两个值可以不用去修改,如果你有其他需求除外。

引用名称:把提取的值作为一个变量存在Jmeter中,所以得为这个值取个名。引用方式$。

正则表达式:记得这几个符号(.+?),关于它的含义可参考下图

模板:创建一个从匹配结果中取到的值,也可以是多个。一个匹配结果写成$1$,如果一个正则中需要取到多个值需要写成$1$$2$...$n$

匹配数字:把正则取到的值看成一个数组。0表示随机,1表示第一个值,以此类推。为负数...表示没用过,传说是提取所有符合条件的值。

缺省值:当匹配不到值时,显示该预设默认值。

2

JSON Extractor

通常接口传回数据为Json格式时,使用此方式是最简单的。

同样在HTTP请求中添加一个后置处理器--Json Extractor。如果你的后置处理器中没有,建议你升级下Jmeter或者自己找找相关插件吧。

Json Extractor 是通过JsonPath来进行提取想要的值。

简单说明下面几个框:

Variable names:同“正则提取器”变量名称

Json path expressions:使用JsonPath来进行提取值。以$.开头填入你想要获取的key的路径。(具体可学习下JsonPath)

Match No. :同“正则提取器”匹配数字

Default Values:默认值

3

举个栗子

响应数据:

{

"ret": 0,

"msg": "ok",

"data": [{

"nick_name": "CQMYG",

"signature": "CQMYG",

"hd_head_img": "",

"pkey": "Mj123HshnyMQ==",

"source": "mp.weixin.qq.com",

"user_name": "Dbs",

"alias": "Dbs",

"biz": "Mj123HshnyMQ==",

"nickname_simple": "CQMYG",

"disabled": 1,

"attention_status": 0

}],

"oldApi": ""

}

正则表达式提取器:

提取pkey:"pkey":"(.+?)"

提取disabled:"disabled":(.+?),

Json Extractor:

提取pkey:$.data.pkey 或者 $..pkey

提取disabled:$.data.disabled 或者 $..disabled

(Chrome浏览器可在响应中找到该key值,鼠标指向查看路径或右键点击copy property path即可粘贴使用)

对应如何在接口之间传递值的问题,东西都拿到手了,该怎么用就不需要多说了吧。

学无止境,多学一点,也是进步

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181126G0XNI900?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券