一、jmeter-必备正则表达式
. | 任意单个字符 |
/d | 任意单个数字 |
[0-9] | 等价0-9 |
[a-zA-Z] | 等价所有的大小写字母 |
+ | 匹配次数大于1次 |
? | 匹配次数0次或者1次 |
* | 匹配次数0次或者多次,贪婪匹配 |
{n,},{n,m},{m} | 匹配限定字数 |
举例15906235210
元字符+限定符\d*,\d{11}
二、正则表达式提取器提取响应结果
{"status":1,"code":"10001","data":null,"msg":"登录成功"}
想拿到登陆成功
1、确定他的左右边界"msg":" "}
2、写正则表达式"msg":"(.*)"}
{"status":1,"code":"10001","data":null,"msg":"登录成功"}
"code":"(.*)","data":null,"msg":"(.*)"}
三、正则表达式提取器详解
Apply to
该选项用来指定正则表达式提取器组件的作用范围
参数 | 释义 |
Main sample and sub-samples | 作用于主节点的取样器及对应子节点的取样器 |
Main sample only | 仅作用于主节点的取样器 |
Sub-samples only | 仅作用于子节点的取样器 |
JMeter Variable | 作用于jmeter变量(输入框内可输入jmeter的变量名称),从指定变量值中提取需要的值。 |
示例
Field to check:要检查的响应报文的范围
参数 | 释义 |
---|---|
主体 | 响应报文的主体,最常用 |
Body(unescaped) | 主体,是替换了所有的html转义符的响应主体内容,注意html转义符处理时不考虑上下文,因此可能有不正确的转换,不太建议使用 |
Body as a Document | 从不同类型的文件中提取文本,注意这个选项比较影响性能 |
Response Headers | 响应信息头(如果你使用的是中文版的Jmeter,会看到这一项是信息头,这是中文翻译问题,应以英文为准) |
Request Headers | 请求信息头 |
URL | 请求url |
Response Code | 响应状态码,比如200、404等 |
Response Message | 响应信息 |
常用:主体、信息头(响应信息头)
示例:
Response Code、Response Message
参数设置
参数 | 释义 |
---|---|
引用名称 | 在HTTP等请求中,引用此数据,需要用到的名称 即下个请求需要引用的值、字段、变量名,后文中引用方法是$ |
正则表达式 | 用于将需要的数据提取出来 万能正则表达式:(.*?) |
模板 | 表示使用提取到的第几个值:
|
匹配数字(0代表随机) | 0 代表随机取值,1 代表全部取值 正数n则表示取第n个值(比如1代表取第一个值),负数则表示提取所有符合条件的值 |
缺省值 | 如果正则表达式没有搜找到值,则使用此缺省值 通常用于后续的逻辑判断,一般通常为特定含义的英文大写组合,比如:ERROR等 |
详细讲解正则表达式的文章:测试必知必会系列 - 正则表达式