性能测试工具Jmeter之正则表达式提取器

发表于:2023-2-06 09:22

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:大田测试录    来源:知乎

  正则表达式提取器是 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)中 :${},完成关联。(由于没有能使用的公开系统,参考下思路即可)
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号