CSV data Set Config 组件和函数助手对话框进行参数化,这些数据可以通过客户端进行参数化,但是,性能测试过程中间有些数据不能简单通过客户端进行参数化,而是来源于服务端响应。
应用场景就是关联:将上一个请求的响应结果作为下一个请求的参数。
例如,登录成功后服务器会返回一个登录凭证,防止csrf攻击而生成的token,查询订单信息需要通过服务端响应返回给客户端,每个用户登录获取的session不同,session都是动态的,这个就需要后置处理器正则表达式提取器
一、正则表达式提取器常用知识
正则表达式 — 名词解释
- 引用名称:定义变量的名称,存储提取结果,就是下个请求需要引用的值、字段、变量名。
- 正则表达式:使用正则表达式解析响应结果,“()”表示提取字符串中的部分值。
- 模板:从匹配的结果中创建一个字符串,这是通过正则表达式匹配出来的一组值,就是使用提取到的第几个值(可能多个值匹配、因此使用模板)。
- 匹配数字:正则表达式匹配数据的结果可以看做一个数组,表示如何取值;0代表随机取值,正数n表示取第n个值,负数则表示提取所有符合条件的值。
- 缺省值:匹配失败时候的默认值
.
操作符 | 含义 |
---|---|
() | 括起来的部分是要提取的 |
. | 匹配任何字符串 |
* | 表示任意个字符 |
? | 不要太贪婪,在找到第一个匹配项后停止 |
\d | 数字 |
\w | 数字或者字母 |
(n) | 表示n个字符 |
(n,m) | 表示n-m个字符 |
\s | 空白符 |
[] | 表示范围 |
[0-9a-zA-Z] | 数字或字母 |
二、实例讲解
1、添加JDBC两个组件,连接数据库,在JDBC Request下面添加后置处理正则表达式提取器,并输入正则表达式规则
2、加察看结果树,运行后,请求数据是查询数据表
1)察看结果树返回该表的所有数据表
2)添加debug sampler,察看结果数有debug返回正则表达式提取的数据