网站首页 > 文章精选 正文
上节课我们学习了参数化的用法,讲解了csv和用户参数的使用,也是非常实用的知识点。今天将继续讲解jmeter中关于后置处理器中的用法(也叫提取器)。
首先,大家要明确为什么要使用后置处理器中的功能?它有什么应用场景?通过一个场景来说明一下:某业务线需要在jmeter中实现接口自动化测试,有部分接口依赖登录接口返回的token或session值;或下一个接口依赖上一个接口返回的结果才能继续操作。所以,需要先在上一个接口请求成功后,提取到有价值的参数值,作为下一个接口的入参。就需要用到后置处理器中的方法,提取的参数值也可以设置为全局变量的,后面会将到跨线程的应用。
知道使用场景了,下面来看下后置处理器中常用的几种提取器的用法吧。
注意:我们在添加后置提取器中的方法时需要注意,我们是在接口的返回结果中提取数据,那么在添加提取器时也要在接口上添加提取方法,下面详细介绍。
一、json提取器
1、添加json提取器
在接口请求上右键-->添加-->后置处理器,选择json提取器,如图:
Names of created variables: 自定义变量名
JSON Path expressions: json表达式
Match No.(0 for Random): 匹配提取值规则,0 为随机取值
Default Values: 默认值,可为空,也可自定义
2、在查看结果树中验证json表达式
提取值时需要注意要提取的字段在哪一层级,使用美元符号 $后面跟具体的字段即可,格式为:$.result.sessionId
3、复制第二步中的表达式到json提取器中的表达式输入框内
通过json提取器提取到值了,那么久可以在其他接口中调用这里定义的变量 sid 了。
二、边界提取器
边界提取器很好理解,要取某个值只需要确定左边界和右边界即可,左右边界间的内容即为需要的值。
1、添加边界提取器
在接口请求上右键-->添加-->后置处理器,选择边界提取器,如图:
2、在查看结果树中验证边界提取器
测试提取数据无误后,将表达式分别填入边界提取的左边界和右边界输入框中。
如果要使用边界提取器中的值,可以设置一个和json提取器中不同的变量名即可。
三、正则表达式提取器
正则表达式提取器提取内容有两种,一种是提取字符串,一种是提取具体的数据。
提取字符串语法:在字符串中输入--“(.*?)”,取字符串中的全部内容;
提取具体的数据:在数据后面输入--(.+?)
1、添加正则表达式提取器,正则表达式提取字符串中的值
引用名称:自定义变量名
正则表达式:正则表达式
模板:取值方式
匹配数字(0代表随机):类似于json提取器中的使用方法,0表示随机取值
缺省值:可默认
2、在查看结果树中验证正则表达式
3、添加正则表达式到提取器中,注意模板的写法为:$1$
4、使用正则表达式提取具体数据,(.+?)
注意在末尾需要添加一个边界符号,如下
提取表达式填入提取器的表达式中即可。
今天讲解了三种提取器的用法,是非常重要的知识点,后面在学习跨线程和Beanshell取样器的时候会经常用到其中的一种提取器用法,建议同学都要掌握起来。好啦下节继续分享jmeter的跨线程和Beashell取样器用法,关注我后期更精彩,希望能帮到你!
猜你喜欢
- 2025-06-23 测试开发之自动化篇-有效测试数据管理
- 2025-06-23 测试用例编写方法(测试用例编写方法是什么)
- 2025-06-23 穿透与击穿:缓存世界的两场“攻击”,Java工程师如何见招拆招?
- 2025-06-23 用一场比赛来介绍CyclicBarrier和CountDownLatch区别
- 2025-06-23 JMeter脚本录制插件BlazeMeter(jmeter录制脚本的目的)
- 2025-06-23 如何避免数据库雪崩?高并发下的性能挑战与应对!
- 2025-06-23 性能测试工具Locust(性能测试工具loadrunner)
- 2025-06-23 软件性能测试常见面试题(软件性能测试的基本思路)
- 2025-06-23 DeepSeek性能测试实战:5分钟压测API接口,精准定位系统瓶颈!
- 2025-06-23 JMeter 中如何实现接口之间的关联?
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)
- mysql数据库面试题 (57)
- fmt.println (52)