接口测试实战,Jmeter正则提取响应数据-详细整理,一篇打通...

目录:导读


前言

在测试时,我们经常需处理请求返回的响应数据,比如很多时候 cookie 或 token 或 Authorization授权码 会返回在 Response headers(响应头)中,这时我们便需要从中进行提取,以供其他接口使用。

如何在Jmeter中通过正则提取响应数据中 Response headers 的数据?

总的设置界面如下:

发送请求,获取响应数据

首先,设置一个HTTP请求,如下:

接着,设置一个察看结果树,然后执行,得到响应数据,下图中的cookie即我们需要提取的数据:

正则提取响应数据

接下来,我们便设置一个正则提取器(用于提取出cookie),另外再设置一个调试后置处理程序(用于查看提取结果)

说明:

1、引用名称:即变量名,后续请求中可以通过 引用名称来调用 2 、正则表达式:按实际情况填写 3 、模板: {引用名称} 来调用 2、正则表达式:按实际情况填写 3、模板: 引用名称来调用2、正则表达式:按实际情况填写3、模板:$表示需要哪个正则表达式获取的值,1代表第一个,-1代表全部,0代表随机

4、匹配数字:1代表第一个,-1代表全部,0代表随机

5、缺省值:如果正则未匹配到,就会使用缺省值

正则说明:

python 复制代码
.:表示除"\r\n"之外的任意字符
*:表示匹配前面的子表达式任意次
+:表示匹配前面的子表达式1次或多次
?:表示匹配前面的子表达式0次或1次
.*:贪婪匹配原则,即匹配到不能匹配为止
.*?:非贪婪匹配,即在匹配成功的情况下尽可能少的匹配

实例:

存在字符串 7adbcfgfbesw ,要匹配7和b之间的字符

python 复制代码
匹配1:使用 .* ,7开始之后,遇到第一个b不结束,继续找下一个b,直到不能匹配,即匹配到 adbcfgf

匹配2:使用 .*? ,7开始之后,遇到第一个b就结束了,即匹配到 ad

查看提取结果提取结果

以上就是本次的提取结果,在这里,如果需在后续请求使用,可通过 ${response_data} 来关联调用。

可能遇到的问题

假如,我们需提取 Set-Cookie 里的所有内容。此时,如果依然使用 .*? ,就会发现提取是不成功的,如下:

要解决这个问题也很简单,我们修改正则表达式,使用 .* 贪婪匹配原则既可以。

以上就是通过Jmeter正则提取的内容,提取其他数据,如 token 、 Authorization 等的方法与上面类似。

|-------------------------------------|
| 下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |

一、Python编程入门到精通

二、接口自动化项目实战

三、Web自动化项目实战

四、App自动化项目实战

五、一线大厂简历

六、测试开发DevOps体系

七、常用自动化测试工具

八、JMeter性能测试

九、总结(尾部小惊喜)

奋斗如彩虹般绚丽,需要经历风雨才能见其美丽。坚持不懈的努力将点亮前行的路,让梦想的火焰燃烧心间。相信自己的力量,勇往直前。

在每一个拼搏的瞬间,都是重新定义自己的机会。不论前方有多少险阻,只要心怀勇气与决心,努力奋斗,终将超越自我,闪耀出属于自己的光芒。

每一次的努力都是自己向前进的勇气,每一次的奋斗都是追寻梦想的脚步。不论遇到多少艰难险阻,坚持执着,秉持着信念与热情,你将以自己的汗水和智慧,创造出绚丽而辉煌的人生篇章!

相关推荐
测试老哥1 天前
Selenium 使用指南
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
文人sec2 天前
性能测试-jmeter9-逻辑控制器、定时器压力并发
测试工具·jmeter·性能优化·模块测试
CesareCheung3 天前
JMeter分布式压力测试
分布式·jmeter·压力测试
测试界清流3 天前
jmeter使用技巧
jmeter
春时似衿里3 天前
jmeter配置数据库连接步骤
数据库·jmeter
新知图书3 天前
JMeter的安装部署
jmeter
程序员杰哥3 天前
什么是Jmeter? Jmeter工作原理是什么?
自动化测试·软件测试·python·测试工具·jmeter·职场和发展·测试用例
乐神嘎嘎嘎3 天前
Jmeter测试
jmeter
卓码软件测评3 天前
第三方软件测试机构【性能测试工具用LoadRunner还是JMeter?】
java·功能测试·测试工具·jmeter·性能优化
BatyTao4 天前
Jmeter执行数据库操作
数据库·jmeter