当前位置: 首页 > news >正文

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

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

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

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

总的设置界面如下:

E1

发送请求,获取响应数据

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

E2

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

E3

正则提取响应数据

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

E4

说明:
1、引用名称:即变量名,后续请求中可以通过 引用名称来调用 2 、正则表达式:按实际情况填写 3 、模板: {引用名称} 来调用 2、正则表达式:按实际情况填写 3、模板: 引用名称来调用2、正则表达式:按实际情况填写3、模板:$表示需要哪个正则表达式获取的值,1代表第一个,-1代表全部,0代表随机
4、匹配数字:1代表第一个,-1代表全部,0代表随机
5、缺省值:如果正则未匹配到,就会使用缺省值

正则说明:

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

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

匹配1:使用 .*7开始之后,遇到第一个b不结束,继续找下一个b,直到不能匹配,即匹配到 adbcfgf匹配2:使用 .*? ,7开始之后,遇到第一个b就结束了,即匹配到 ad

E5

查看提取结果提取结果

E6

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

可能遇到的问题

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

E7

E8

E9

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

E10

E11

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

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

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

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

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

http://www.lryc.cn/news/117285.html

相关文章:

  • 基于自适应变异粒子群优化BP神经网络 的风速预测,基于IPSO-BP神经网络里的风速预测
  • MySQL—日志
  • uniapp 扩展组件 uni-forms 的表单验证之 validateFunction 只响应一次
  • 每日一题8.10 lc39
  • 贝叶斯深度学习的温和介绍
  • 无涯教程-Perl - glob函数
  • 前端先行模拟接口(mock+expres+json)
  • 老师如何制作学生分班信息查询系统?
  • Java实战:高效提取PDF文件指定坐标的文本内容
  • centos磁盘满了,怎么清理大文件
  • AIGC:【LLM(四)】——LangChain+ChatGLM:本地知识库问答方案
  • 企业在线产品手册可以这样做,小白也能轻松上手
  • crypto-js中AES的加解密封装
  • 【计算机视觉】MoCo v2 讲解
  • 如何解决亚马逊银行账户验证问题?来看看这些技巧吧!
  • Android多渠道打包+自动签名工具 [原创]
  • nodejs实现解析chm文件列表,无需转换为PDF文件格式,在线预览chm文件以及目录,不依赖任何网页端插件
  • .net core background service
  • 前端开发的工作职责精选【10篇】
  • SpringBoot 升级内嵌Tomcat
  • react搭建在线编辑html的站点——引入grapes实现在线拖拉拽编辑html
  • Nginx反向代理服务配置和负载均衡配置
  • react钩子函数理解
  • 医疗保健中的 NLP:实体链接
  • java编程规范
  • 合宙Air724UG LuatOS-Air script lib API--sim
  • 【网络基础实战之路】基于三个分公司的内网搭建并连接运营商的实战详解
  • (Python)Requests+Pytest+Allure接口自动化测试框架从0到1搭建
  • 实现vuex数据持久化处理
  • Vue-系统登录进入首页后禁用浏览器返回键