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是后处理器元件,它提取的数据仅在其所在的线程组或请求范围内有效,不支持直接跨线程组使用变量。所以在使用这个元件的时候,需要进来避免跨线程组使用。

附一些正则的元字符:

相关推荐
nanixiaowai16 小时前
Jmeter+ant+Jenkins 接口自动化框架-让jmeter脚本自己跑起来
jmeter·自动化·jenkins
测试老哥1 天前
Jmeter+Maven+jenkins+eclipse 搭建自动化测试平台
自动化测试·软件测试·测试工具·jmeter·jenkins·maven·性能测试
nanixiaowai1 天前
Jmeter+ant+Jenkins 接口自动化框架-利用ant工具批量跑指定目录下的Jmeter 脚本
jmeter·自动化·jenkins
.又是新的一天.1 天前
08-Jmeter数据驱动、数据库的操作、命令行执行方式
数据库·jmeter
张永清-老清1 天前
每周读书与学习->JMeter主要元件详细介绍(四)再谈取样器
学习·jmeter·性能优化·性能调优·jmeter性能测试·性能分析·每周读书与学习
小桥流水人家哇1 天前
JMeter中几个控制器的区别是什么
jmeter·压力测试
卖个几把萌2 天前
【04】JMeter接口上传文件
测试工具·jmeter
俩惊喜2 天前
jmeter --> 后置处理器 --> JSON提取器
jmeter
俩惊喜2 天前
jmeter --> 后置处理器 --> BeanShell后置处理程序
jmeter