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

附一些正则的元字符:

相关推荐
卖个几把萌6 小时前
【09】JMeter插件管理下载
测试工具·jmeter
小小测试开发7 小时前
JMeter高级用法全解析:从性能测试到自动化监控,解锁压测工具的隐藏实力
运维·jmeter·自动化
2501_939508642 天前
Tomcat服务器性能优化提升应用响应速度的关键策略
jmeter
卖个几把萌2 天前
【07】JMeter 将Swagger接口直接转为JMeter脚本
测试工具·jmeter
卖个几把萌3 天前
【06】JMeter获取接口返回变量,传给下一个接口(正则表达式提取、json提取)
测试工具·jmeter
Jerelli4 天前
jmeter发送数据到sasl加密的kafka
jmeter·kafka
小小测试开发6 天前
JMeter 自动化实战:自动生成文件并传参接口的完整方案
运维·jmeter·自动化
极阴岛传人7 天前
jmeter集群压测配置方法和注意事项
jmeter
keke_俩个科7 天前
实战派 JMeter 指南:核心功能、并发压测实操与常见问题解决方案
java·jmeter·spring·spring cloud·tomcat
让世界再也没有bug9 天前
JMeter与Postman的区别
测试工具·jmeter·postman