Jmeter 之正则表达式提取器应用

前言

说到Jmeter正则表达式提取器的应用,就不得不说到关联。所谓关联,就是把应用中动态变化返回的数据获取到,把它保存为一个参数,提供给后面需要用到的地方进行使用。

Jmeter中关联可以通过"添加---后置处理器---正则表达式提取器"来获取数据,且注意正则表达式提取器附在需要获取数据的某个采样器之下,数据一般从"查看结果树"的响应数据获取。

Jmeter中关联可以通过"添加---后置处理器---正则表达式提取器"来获取数据,且注意正则表达式提取器附在需要获取数据的某个采样器之下,数据一般从"查看结果树"的响应数据获取。

一、获取单个数据

举例:获取用户列表的结果如下,需要将"mobilephone":"158****1763" 手机号码取出用来进行登录操作

1、在获取用户列表请求下面添加---后置处理器---正则表达式提取器

正则表达式提取器说明:

**Apply to:**应用范围

**要检查的响应字段:**样本数据源。

**引用名称:**其他地方引用时的变量名称,我这里写的phone,可自定义设置,引用方法:${引用名称}

**正则表达式:**数据提取器,()括号里为你要获取的的值。"mobilephone":"( 相当于LR左边界, )","leaveamount"相当于LR右边界。而括号里\d+为正则表达式,用来匹配所需要获取的数据,何谓正则表达式文章末尾会附上说明

**模板:**用于从找到的匹配项创建字符串的模板。这是一个带有特殊元素的任意字符串,用于引用正则表达式中的组。引用组的语法是:' 1 '引用组1,' 2 '引用组2,等等。 0 引用整个表达式匹配的内容。

**匹配数字:**正则表达式匹配数据的所有结果可以看做一个数组,匹配数字即可看做是数组的第几个元素。-1表示全部,0随机,1第一个,2第二个,以此类推。若只要获取到匹配的第一个值,则填写1

**缺省值:**匹配失败时的默认值。可以不写。若需用于后续逻辑判断,可简单写为 ERROR。

2、在获取用户列表添加的 Debug PostProcessor 为调试所用,一般用于查看获取的变量值。

从执行结果中,能看到获取的值为如下:

3、在登录请求中,将正则表达式获取的值进行引用。

二、获取多个数据

举例:在用户列表的结果中,需要将"id":82,"mobilephone":"150****7414", 用户id、手机号码都取出用来进行后续登录、投资操作

1、注意如果包含多个正则,我们进行如下设置

其中,我们可以通过 Debug PostProcessor 来查看结果

从结果中,如果我们要引用id、mobilephone的话,也就是这里user_g1、user_g4分别指代的值。

2、注意变量值在登录、投资请求中的引用!

附正则表达式说明:

通俗点来讲正则表达式就是用来匹配字符串的公式。比如正则表达式中\d+ 是来匹配1个或更多连续的数字。更多可自行百度了解。

个人觉得非常非常细节的地方注意一下:

一,如果是post请求:

数据类型 : 如果是form类型 放在jmeter请求的 参数中

form类型
如果json类型 加信息头管理器

这一点很重要哦---

二,接口的入参都是有来源的

1、手动输入
2、从前面的接口的响应中来的

${__time(,)} --函数助手对话框,自动生成name---value ;

相关推荐
小冷coding6 小时前
【MySQL】MySQL 插入一条数据的完整流程(InnoDB 引擎)
数据库·mysql
周杰伦的稻香10 小时前
MySQL中常见的慢查询与优化
android·数据库·mysql
·云扬·12 小时前
MySQL 常见存储引擎详解及面试高频考点
数据库·mysql·面试
何以不说话12 小时前
mysql 的主从复制
运维·数据库·学习·mysql
橘子1313 小时前
MySQL库的操作(二)
数据库·mysql·oracle
·云扬·14 小时前
MySQL各版本核心特性演进与主流分支深度解析
数据库·sql·mysql
少云清15 小时前
【性能测试】9_JMeter _JMeter录制脚本(了解)
jmeter·性能测试
田超凡15 小时前
深入理解MySQL_6 Temporary临时表
mysql·java-ee
尽兴-16 小时前
MySQL 8.0主从复制原理与实战深度解析
数据库·mysql·主从复制
YongCheng_Liang17 小时前
MySQL 高级特性深度解析:从索引优化到高可用架构
运维·数据库·mysql