jmeter-正则表达式提取器

 在学习Jmeter的正则表达式提取器之前,我们先来学习一下正则表达式的基本用法。

元字符

意义

限定符

意义
. 任意单个字符 + 匹配至少大于1次
\d 任意单个数字 匹配0次或1次
[0-9] 等价0-9 * 匹配0次或多次,贪婪匹配
[a-zA-Z] 等价所有的大小写字母 {n,}、{n,m}、{n} 匹配限定次数

 

 

 

 

 

 

 

举例练习:元字符限定符

匹配数字   123456   .* ,\d*, \d{6} ,[0-9]{6}

 

正则表达式的作用:

1.可以根据指定的规则匹配对应的结果

2.可以跟正则表达式提取器完美的结合使用

 

常用的场景:从某个请求的响应结果里面提取目标值

下面我们来学习Jmeter的正则表达式提取器吧!

如何使用?

如果你想在某个请求的响应结果里面拿到某个值

{"code":"0","message":"success","data":"a70b199c649042a2a38024049fd6e63e"}

1.首先确定它的左右边界

2.然后写正则表达式:"data":"(.*)"}

一:添加登录http请求,写入正确的接口地址和参数,添加监听器-察看结果树

二:添加后置处理器-正则表达式提取器,提取响应结果的data值,变量名为name

三:添加取样器-Debug Sampler,查看你会发现data已经被提取

 

说明:

  (1)引用名称:下一个请求要引用的参数名称,如填写title,则可用${title}引用它。

  (2)正则表达式:

    ():括起来的部分就是要提取的。

    .:匹配任何字符串。
    +:一次或多次。
    ?:不要太贪婪,在找到第一个匹配项后停止。

  (3)模板:用$$引用起来,如果在正则表达式中有多个正则表达式,则可以是$2$$3$等等,表示解析到的第几个值给title。

        如:$-1$:表示取所有值
        $0$:表示随机取值
        $1$:表示取第1个
        $2$:表示取第二个
        以此类推:$n$:表示取第n个

          列如:

           

                            

 

 

  (4)匹配数字:0代表随机取值,-1代表全部取值

     

 

     

 

 

 

 

 

 

 

 

 

 

posted @ 2021-01-08 23:28  似梦千寻  阅读(964)  评论(0)    收藏  举报