接口测试(十)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请求-注册】请求体中

相关推荐
哭泣方源炼蛊1 天前
正则表达式c++内容汇集
数据库·c++·mysql·正则表达式
划破黑暗的第一缕曙光1 天前
正则表达式使用规则和用例
正则表达式·语法·图表·语法规则·练习用例
小白快快跑哦2 天前
python-字符串全解(六):正则表达式-量词
python·正则表达式·字符串
程序媛_2 天前
【JMeter】准备token文件
android·jmeter
福兮说2 天前
JS 正则的六个坑:带 g 的 test() 一真一假、空匹配死循环、replace 里的 $
开发语言·前端·javascript·正则表达式
Rebecca_aLi2 天前
码匠教育:零基础学 Python,标识符到循环全套基础语法解析
开发语言·python·正则表达式
IvanCodes2 天前
Python 正则表达式(十四):文本匹配、查找与替换
开发语言·python·正则表达式
FED_AF3 天前
Linux运维“邪修”功法之正则表达式
linux·运维·正则表达式
长按助力退休5 天前
正则表达式从入门到不懵逼
正则表达式
小白快快跑哦11 天前
python-字符串全解(六):正则表达式-转义与非转义
python·正则表达式·转义与非转义