美文网首页
Jmeter必备-正则表达式

Jmeter必备-正则表达式

作者: V大酱 | 来源:发表于2020-09-24 14:34 被阅读0次
    前言:

    正则表达式在Jmeter的用处非常广,包括常用的正则表达式提取器,还有其一些函数或者配置元件之类的。


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

    举个例子
    一般用法:元字符+限定符
    匹配手机号:13800138001
    写法如:\d{11} \d+ [0-9]{11} .{11} 等
    可以搜索 在线正则表达式 网站查看匹配结果

    正则表达式提取器

    如果想在某个请求的响应结果里面拿到某个值,那么我们就可以使用正则表达式提取器。

    操作步骤(提取uid)
    响应结果:{"uid":20450674,"mail":"","areaCode":"+86","mobile":"13800138001","sid":"6395efe4e4ae2a746f7d495f5dd5d38c"}
    1、确定接口的左右边界
    2、写正则表达式:"uid":(\d*),
    3、添加Debug Sampler(调试取样器)查看正则表达式提取是否正确

    以登录接口为例子,找到正则表达式提取器的位置
    Debug Sampler(调试取样器)
    ① 先跑一个正则表达式
    说两句:
    1、模板,选择第一个匹配的字段,填$1$,用$$引用起来,如果在正则表达式中有多个正则表达式,则可以是$2$$3$等等,表示解析到的第几个值给id。如:$1$表示解析到的第1个值;
    2、匹配数字,0代表随机取值,-1表示全部,1第一个,2第二个;
    3、缺省值如果参数没有取得到值,那默认给一个值让它取。可填可不填,看具体使用场景。
    
    成功提取 uid
    ② 如果要跑两个怎么做
    步骤
    1、这次增加一个 提取sid 的正则表达式提取器
    2、模板改为 $2$,因为“1”被刚刚的uid占用了
    

    成功提取uid和sid

    后记:
    正则表达式其实是一门很高深的学问,文中提到的符号不过是冰山一角,想要精通正则表达式,你我还需要多多学习才行的哈~

    相关文章

      网友评论

          本文标题:Jmeter必备-正则表达式

          本文链接:https://www.haomeiwen.com/subject/tmnaektx.html