正则提取器和json extractor的用法

用jmeter做接口测试常遇到一种情况,上个请求的响应信息会作为下个请求的请求参数,这时我们会把上个响应信息提取出来,给下个请求入参,就会经常使用到正则提取和json提取,接下来我们分别看看两种后者处理器的用法。
一、正则提取器
在HTTP请求下添加后置提取器,如下图
正则提取器和json extractor的用法
先看一下,我们需要提取的响应信息,在察看结果树里面
正则提取器和json extractor的用法
我们需要这个token值作为下个请求的参数
正则提取器和json extractor的用法
引用名称:下一个请求要引用的参数名称,如填写token,则可用token  ()  .  +  ?{token}引用它。 正则表达式:   ():括起来的部分就是要提取的。   .:匹配任何字符串。   +:一次或多次。   ?:在找到第一个匹配项后停止。 模板:用$引用起来,如果在正则表达式中有多个正则表达式,则可以是2233等等,表示解析到的第几个值给title。如:11表示解析到的第1个值
匹配数字:0代表随机取值,1代表全部取值
缺省值:如果参数没有取得到值,那默认给一个值让它取,我填的aaa。
通过F12或者fiddler抓包知道,下个请求是在请求头使用这个参数,所以在请求下加个HTTP信息头管理器,如图
正则提取器和json extractor的用法
值看请求的格式,通过抓包我们了解到,对应的填入就ok啦
正则提取器和json extractor的用法
最后看看下个请求是不是使用的这个参数呢,传参成功了!!!
正则提取器和json extractor的用法
二、json 提取器
json提取器的原理和正则是一样的,都是为了获取上个请求的响应信息,给下个请求提供参数。在http请求里添加后置处理器json extractor
正则提取器和json extractor的用法
正则提取器和json extractor的用法
Variable names : 变量名称
JSONPath Expression:JSON表达式 格式:$.data.token。如果响应data为数组,故应为 $.data[0].token 提取第1个值,data[*]表示取全部值
Match Numbers:可为空即默认第一个 ,-1即所有值
Default Value:未取到值的时候默认值
然后把参数加入到下个请求参数里
总结
正则提取器和json extractor的用法
同时用正则提取器和json 提取器,提取token值,发现json更加准确,只返回了一条数据。当然小伙伴们可以根据自身的项目来判断使用哪一种方面。