jmeter总结之:Regular Expression Extractor元件

  • Regular Expression Extractor是一个后处理器元件,使用正则从服务器的响应中提取数据,并将这些数据保存到JMeter变量中,以便在后续的请求或断言中使用。在处理动态数据或验证响应中的特定信息时很有用。

  • 添加Regular Expression Extractor元件:选中HTTP请求(HTTP Request) - 右键-添加(Add)-后置处理器(Post Processors)-选择正则表达式提取器(Regular Expression Extractor)
    在这里插入图片描述

  • 元件配置
    在这里插入图片描述
    【Apply to】:作用范围
    (1)Main sample and sub-samples:作用于主节点的取样器及对应子节点的取样器
    (2)Main sample only:仅作用于主节点的取样器,也是默认的选中的选项
    (3)Sub-samples only:仅作用于子节点的取样器
    (4)JMeter Variable:用于jmeter变量,输入框内输入jmeter的变量名称,从变量值中提取需要的值
    【Filed to check】:匹配范围
    (1)Body:响应报文的主体,最常用,也是默认选项
    (2)Body(unescaped):是替换了所有的html转义符的响应主体内容,注意html转义符处理时不考虑上下文,因此可能有不正确的转换,不太建议使用
    (3)Body as a Document:响应信息作为文本去匹配,注意这个选项比较影响性能
    (4)Response Headers:响应信息头
    (5)Request Headers:请求信息头
    (6)URL:请求url
    (7)Response Code:响应状态码,比如200、404等
    (8)Response Message:响应信息
    【Name of created variable】: 引用名称,其他地方引用时的写此变量名称
    【Regular Expression】:正则表达式,()括号里为你要获取的的值。在输入正则表达式之前,可以添加一个View Results Tree组件,发送一次请求,验证一下正则表达式的匹配结果
    在这里插入图片描述
    【Template】:模板,形式是$1$ ,中间数字代表正则表达式第几组括号的匹配。 0 是特殊情况,所有字符串匹配
    【Match No】:匹配数字,正则表达式可能匹配到多个结果,匹配数字即取第几个结果。-1表示全部,0随机,1第一个,2第二个,以此类推。若只要获取到匹配的第一个值,则填写1
    【Default value 】:匹配失败时的默认值。可以不写。

  • 引用变量:在Regular Expression Extractor配置完成后,通过${变量名}的格式来引用这些变量。引用时写的变量名称,便是Name of created variable配置的变量名称。 在这里插入图片描述

  • 增加调试器,注意调试器也是在请求下的,在调试器中可查看匹配出的结果
    在这里插入图片描述
    在这里插入图片描述

  • 注意事项:Regular Expression Extractor是后处理器元件,它提取的数据仅在其所在的线程组或请求范围内有效,不支持直接跨线程组使用变量。所以在使用这个元件的时候,需要进来避免跨线程组使用。

附一些正则的元字符:
在这里插入图片描述

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-29 12:32:05       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-29 12:32:05       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-29 12:32:05       87 阅读
  4. Python语言-面向对象

    2024-03-29 12:32:05       96 阅读

热门阅读

  1. 面试算法-125-除自身以外数组的乘积

    2024-03-29 12:32:05       35 阅读
  2. 【OpenModelica】4命令行大全

    2024-03-29 12:32:05       43 阅读
  3. .jayy勒索病毒来袭:如何有效防范与应对?

    2024-03-29 12:32:05       40 阅读
  4. 【ssh免密设置】

    2024-03-29 12:32:05       43 阅读
  5. 王道c语言-顺序查找、二分查找

    2024-03-29 12:32:05       47 阅读
  6. C语言和C++实现Stack有什么区别?

    2024-03-29 12:32:05       44 阅读
  7. C#中的PLINQ和LINQ的效率对比

    2024-03-29 12:32:05       39 阅读
  8. go实现哈夫曼编码

    2024-03-29 12:32:05       45 阅读
  9. 记录一条递归查询子孙节点的sql

    2024-03-29 12:32:05       42 阅读