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 ;

相关推荐
Sunyanhui12 小时前
牛客网 SQL36查找后排序
数据库·sql·mysql
老王笔记2 小时前
MHA binlog server
数据库·mysql
2401_871213304 小时前
mysql高阶语句
数据库·mysql
山山而川粤5 小时前
网络安全宣传系统|Java|SSM|JSP|
java·开发语言·后端·学习·mysql
_汤姆大叔6 小时前
MySQL 高级操作全解析
数据库·mysql
测试老哥7 小时前
Jmeter测试脚本编写技巧
自动化测试·软件测试·功能测试·测试工具·jmeter·职场和发展·性能测试
呼啦啦啦啦啦啦啦啦7 小时前
【MySQL篇】聚合查询,联合查询
数据库·mysql
今天不coding8 小时前
MySQL体系架构
数据库·mysql·体系架构·网络连接层·服务层·存储引擎层·系统文件层
SunnyRivers9 小时前
基础爬虫案例实战
正则表达式·爬虫实战·多进程·requests
易思涯10 小时前
【已解决】黑马点评项目jmeter高并发测试中用户数据的生成
jmeter·解决方法·黑马点评