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

相关推荐
小赖同学啊17 分钟前
jmeter 与大数据生态圈中的服务进行集成
大数据·jmeter
测试19981 天前
Jmeter HTTP代理服务器录制压力脚本
自动化测试·软件测试·测试工具·jmeter·程序人生·职场和发展·测试用例
疯狂吧小飞牛2 天前
正则表达式特殊字符
正则表达式
White graces2 天前
正则表达式效验邮箱格式, 手机号格式, 密码长度
前端·spring boot·spring·正则表达式·java-ee·maven·intellij-idea
astragin2 天前
正则表达式常用记录
正则表达式
web135085886352 天前
全面指南:使用JMeter进行性能压测与性能优化(中间件压测、数据库压测、分布式集群压测、调优)
jmeter·中间件·性能优化
不会玩技术的技术girl2 天前
使用Python和正则表达式爬取网页中的URL数据
开发语言·python·正则表达式
疯狂吧小飞牛2 天前
正则表达式–断言
正则表达式
yuanbenshidiaos2 天前
【正则表达式】
数据库·mysql·正则表达式
互联网杂货铺2 天前
软件测试之压力测试
自动化测试·软件测试·测试工具·jmeter·职场和发展·测试用例·压力测试