前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Jmeter篇】后置处理器之正则提取器、Json提取器

【Jmeter篇】后置处理器之正则提取器、Json提取器

作者头像
王大力测试进阶之路
发布2019-10-25 18:03:25
3.9K0
发布2019-10-25 18:03:25
举报
文章被收录于专栏:橙子探索测试橙子探索测试

一、后置处理器—正则表达式提取器

1、添加正则表达式提取

2、正则表达式提取面板介绍:

引用名称:提取引用名称,下个请求要引用此参数名称,如填写token,下个请求中用${token}

正则表达式:():括起来的部分就是要提取的

.:匹配任何字符串

+:一次或多次

?:不要太贪婪,在找到第一个匹配项后停止

模板:用

引用起来,如果在正则表达式中有多个正则表达式,则可以是$2

引用起来,如果在正则表达式中有多个正则表达式,则可以是$2

3$等等,表示解析到正则表达式的第几个值给token。如:$1$表示解析到的第1个值 $2$表示解析到的第2个值 $n$:表示取第n个

匹配数字:0代表随机取值,1代表全部取值,通常情况下填0

如果正则表达式没有搜找到值,则使用此缺省值

3、提取(单个值)登录后获取的token,作为请求头参数,用于其它接口请求使用

4、正则提取(不同字段,多个值)案例

5、正则提取(同字段,多个值)案例

提取列表接口所有id集合,使用第几个id,id_n就可以,如果想迭代所有id,再搭配foreach迭代控制器,迭代每个id

二、后置处理器—json提取器

1、添加json提取器

2、json提取器面板介绍:

Main sampleand sub-samples:应用于主sample及子sample

Main sample only:默认的是这个,应用于主sample

Sub-samples only:应用于子sample

JMeterVariableName to use:应用于变量命名的内容

Variable names : 名称

JSONPath Expression:JSON表达式

Match Numbers:0随机;n取第几个匹配值;-1匹配所有,后续引用用 变量名_N 取第N个值

Default Value:未取到值的时候默认值

$.你要提取的参数

1、响应类似{"属性":[{"sx":1},{},{}]},整个响应是个对象。取sx的值:$.属性[0].sx

2、修改json extractor 获取数组的所有值 $[*].属性。match no=3取第3个

3、match no=5,数组越界后,取default values

4、修改json extractor 设置match no =-1 匹配对应字段所有值;并修改接收参数的http请求的参数为 ${varname_N}。N=1-4

我想提取code参数值:

JSON Path Extractor:$.code

提取username参数值:

JSON Path Extractor:$.list[0].username

如果提取的参数不存在父级?

$.你要提取的参数名

提取的参数存在父级

$.你要提取的参数名的父亲.你要提取的参数名

如果提取参数的父级存在父级

$.你要提取的参数名的父亲的父亲(爷爷).你要提取的参数名的父亲.你要提取的参数名

参数如果是数组?

$.你要提取的参数参数[N]

以下标的形式取值,0代表取的数组中第一个值,1代表取的是数组中第二个值,N代表取的数组中第N+1个值

3、提取(单个值)登录后获取的token,作为请求头参数,用于其它接口请求使用

4、json提取器,提取(不同字段,多个值)案例

5、json提取器,提取(同字段,多个值)案例

JSONPath Expression $.data.list[*].id

Match Numbers -1

提取列表接口所有id集合,使用第几个id,id_n就可以,如果想迭代所有id,再搭配foreach迭代控制器,迭代每个id

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 橙子探索测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档