• Jmeter 中正则表达式提取器Regular Expression Extractor


     

    正则表达式提取器
    点击后置处理器中Post Processors 中的正则表达式提取器 Regular Expression Extractor

    Appy to: 表示作用于哪一个请求
    Main sample and sub-samples: 主要的请求和子请求
    Main sample only: 这个是默认选项,表示只作用在主要的请求
    Sub-samples only:
    JMeter Variable Name to use

    Field to check:表示从哪里去匹配
    Body: 这个是默认选项
    Body(unescaped):
    Body as a Document:
    Response Headers:
    Request Headers:
    URL
    Response Code
    Response Message


    Name of created variable: card 提取出来的数据存储为一个变量,比如这样定义为变量 card
    Regular Expression: {"resCode":"000","resMsg":"ok","resCardNum":"(.+)"} 匹配响应时采用的一个规则;该规则为正则表达式
    Template ( $i$ where i is capturing group number,start at 1) 模板: $1$
    Match No.(0 for Random)
    Default Value:

    
    

    上述是一个简单的注册接口,注册成功后分配卡号,并将卡号信息在ResponseBody中进行返回
    若之后使用card变量,用${card}使用,注意大小下啥的,都要与当初定义的相一致
    正则表达式进行提取的时候:

    . 表示匹配任意字符串

    + 表示匹配一次或多次

    ? 表示匹配到第一个匹配项后即停止匹配

    若返回体中只能匹配到一个card,那直接如我写的$1$即可,无需考虑过多
    若返回体中有多个字符,比如是一个抽奖接口,一次可以返回多个奖的那种,那你用prize会得到多个值,在Template中,用$1$表示解析到的第一个值提取出来,同理
    {
    	"resCode": "000",
    	"resMsg": "ok",
    	"prize": "prize1"
    }
    {
    	"resCode": "000",
    	"resMsg": "ok",
    	"prize": "prize2"
    }
    {
    	"resCode": "000",
    	"resMsg": "ok",
    	"prize": "prize3"
    }
    
    $2$表示解析到的第2个值提取出来
    $3$表示解析到的第3个值提取出来
    【不要考虑我的返回体格式是什么,可以看出是能匹配到3个prize,那我填写了$1$表示将规则中第一个括号的模式匹配到的内容赋给变量prize】
    模板选项和下面的Match No有点重复,Match选项中填写0表示随机,那只有一个值,随机也只能是这一个值
    有多个值,想要具体哪一个,在match中用对应的数字进行表示,比如第一个,第二个等等

    Default Value: 有时候,返回体中没有返回card这个值,怎么办?给他设定一个默认值。 这个要看具体情况。

    常用的就如我上面的截图,Match and Default Value 都空置着呗



    Jmeter中还有其他的提取器,比如现在大多数接口是json格式的入参和出参,用json提取器JSON Extractor 也非常好用,能根据层级进行提取
    https://www.cnblogs.com/qianjinyan/p/9205142.html
    有的Jmeter版本比较老,Json提取器需要下载插件才能获得
  • 相关阅读:
    PHP定时备份MySQL,mysqldump语法大全
    虚拟机拷贝之后,发现系统内的开机自启动的nginx,不能自启动了
    八:二叉搜索树的后序遍历
    配置Ubuntu开发环境
    poj 1147 Binary codes
    test
    Python标准库:内置函数reversed(seq)
    Matplotlib 工具包 使用教程索引
    6大设计原则(1):单一职责原则
    hdu 4104
  • 原文地址:https://www.cnblogs.com/qianjinyan/p/6632093.html
Copyright © 2020-2023  润新知