正则提取器和json extractor的用法

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

你可能感兴趣的:(jmeter)