51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 749|回复: 0
打印 上一主题 下一主题

浅谈meter之正则表达式提取器

[复制链接]
  • TA的每日心情
    无聊
    13 小时前
  • 签到天数: 937 天

    连续签到: 4 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2023-2-6 14:59:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    正则表达式提取器是 Jmeter 常用的 3 种后置处理器之一。
      使用正则语法提取数据、能提取任何数据、缺点就是难以掌握容易忘,但是工作中大部分会使用本文例子中的情况。
      正则表达式:是一种字符串匹配的模式,满足匹配条件的字符串进行提取、替换的操作。
      添加位置:取样器-添加-后置处理器-正则表达式提取器

      模块一:Apply to 提取数据的接口对象
      1、main sample and sub-samples:对所有主请求和子请求生效。
      下面两个图的设置即主请求和子请求:

      2、main sample only:只对主请求生效。(推荐使用这个)(默认选这个)
      3、sub-samples only:只对子请求生效。
      4、jmeter variable name to use:对jmeter变量生效。(在测试计划定义变量,在这用)
      模块二:要检查的响应字段(主要提取的数据,只能选择一个)

      1、主体:响应体。(默认选这个)
      2、Body(unescaped):无符号响应体,会自动忽略特殊字符,功能不稳定,一般不用。
      3、body as a document:响应体,会以文件形式存在(在互联网传输的接口数据都是文件),性能差。
      4、信息头:响应头。
      5、request headers:请求头。
      6、url:请求的url。
      7、响应代码:响应状态码。
      8、响应信息:响应状态码的信息。

      要检查的响应字段含义:
      1、引用名称:就是匹配成功后,保存数据的变量名。
      2、使用正则表达式提取数据,保存到引用名称中。
      3、正则表达式中每有一个括号就相当于一个模板:$1$代表提取第一个正则表达式的数据。(一般只选择一个)
      4、匹配数字:0代表随机选择一组、1代表选择第一组、2代表选择第二组、-1代表选择全部数据。
      5、缺省值:当匹配失效时,保存到引用名称的值。
      举例:下图是提取百度网页中 title 标签下的值。

      配合增加调试取样器元件,看提取的字符串对不对。
      调试取样器元件位置:添加 -> 取样器 -> 调试取样器

      运行脚本后看调试取样器即可知道提取的内容对不对。

      看红框第一行就是本次提取的内容。
      其余 3 个是 Java 语言的组合数据,不用管。

      引用百度请求(1)中正则表达式提取的内容,应用到百度请求(2)中 {},完成关联。(由于没有能使用的公开系统,参考下思路即可)


    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-4-25 22:33 , Processed in 0.070341 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表