接口测试(十)jmeter——关联(正则表达式提取器)

一、正则表达式

  1. 常用的元字符
    元字符:用来匹配相关字符
    万能匹配表达式: .*?
    所有log结尾的文件:*.log
代码 说明
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束
  1. 常用的限定符
    限定符:限定元字符匹配的次数
代码 说明
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次
  1. 示例
    方法:找准左右边界,用万能表达式 .*?
    示例1:
javascript 复制代码
{"code":"0","msg":"操作成功","data":"496956"}

通过正则表达式获取 data,正则表达式:"data":"(.*?)"}

在线验证网站:http://tool.oschina.net/regex/

示例2:

javascript 复制代码
{"code":"0","msg":"操作成功","data":{"token_info":{"token_type":"Bearer","expires_in":"2022-12-14 18:43:17","token":"eyJhbGciOiJIUzUxMiJ9.eyJ1c2VyX2lkIjoiODkwOTAiLCJleHAiOjE2NzEwMTQ1OTd9.8WABoFYURRoSGO12oE8uO3xsKqeEktaaqvWR-VyKlSbsZbln9JSq8UNyT-uCO_pssa33_9jRoyRUc-c5suNy1Q"},"phone":"15219081119","user_name":"d1119","id":89090,"type":false}}

通过正则表达式获取 token,正则表达式:"token":"(.*?)"}

示例3:

javascript 复制代码
{"code":"0","msg":"操作成功","data":{"id":89090,"userName":"d1119","phone":"15219081119"}}

通过正则表达式获取 id,正则表达式:{"id": (.*?),

二、正则表达式使用方式

  1. 在【HTTP请求-短信验证码】的子级下添加【正则表达式提取器】
  2. 【正则表达式提取器】
  • 引用名称 :可自定义设置,引用方法 :${引用名称}
  • 正则表达式:数据提取器,()括号里为你要获取的值。常见的形式(.*?)
  • 模板: 对应正则表达式提取器类型
    若只有一个正则表达式,一般填写 1
引用组语法
1 1 1 引用组1
2 2 2 引用组2
0 0 0 引用整个表达式匹配的内容
  • 匹配数字
匹配数字
-1 表示全部
0 随机
1 第一个
2 第二个
  • 缺省值:匹配失败时的默认值ERROR,可以不写
  1. 【正则表达式提取器】中【引用名称】为code,传入【HTTP请求-注册】请求体中

相关推荐
吴声子夜歌2 天前
正则指引——Ruby
开发语言·正则表达式·ruby
吴声子夜歌2 天前
正则指引——Golang
开发语言·golang·正则表达式
孫治AllenSun3 天前
【Jmeter】项目压测流程案例
jmeter
吴声子夜歌3 天前
正则指引——PHP
开发语言·正则表达式·php
吴声子夜歌4 天前
正则指引——断言
正则表达式
吴声子夜歌5 天前
正则指引——匹配原理
java·正则表达式
吴声子夜歌6 天前
正则表达式——环视
开发语言·正则表达式
吴声子夜歌6 天前
正则表达式——边界
正则表达式
是吕先森7 天前
【jmeter】简单应用
jmeter