上节课我们学习了参数化的用法,讲解了csv和用户参数的使用,也是非常实用的知识点。今天将继续讲解jmeter中关于后置处理器中的用法(也叫提取器)。
首先,大家要明确为什么要使用后置处理器中的功能?它有什么应用场景?通过一个场景来说明一下:某业务线需要在jmeter中实现接口自动化测试,有部分接口依赖登录接口返回的token或session值;或下一个接口依赖上一个接口返回的结果才能继续操作。所以,需要先在上一个接口请求成功后,提取到有价值的参数值,作为下一个接口的入参。就需要用到后置处理器中的方法,提取的参数值也可以设置为全局变量的,后面会将到跨线程的应用。
知道使用场景了,下面来看下后置处理器中常用的几种提取器的用法吧。
后置处理器
注意:我们在添加后置提取器中的方法时需要注意,我们是在接口的返回结果中提取数据,那么在添加提取器时也要在接口上添加提取方法,下面详细介绍。
一、json提取器
1、添加json提取器
在接口请求上右键-->添加-->后置处理器,选择json提取器,如图:
添加json提取器
json提取器页面
Names of created variables: 自定义变量名
JSON Path expressions: json表达式
Match No.(0 for Random): 匹配提取值规则,0 为随机取值
Default Values: 默认值,可为空,也可自定义
2、在查看结果树中验证json表达式
验证json表达式
提取值时需要注意要提取的字段在哪一层级,使用美元符号 $后面跟具体的字段即可,格式为:$.result.sessionId
3、复制第二步中的表达式到json提取器中的表达式输入框内
使用json表达式的值
通过json提取器提取到值了,那么久可以在其他接口中调用这里定义的变量 sid 了。
二、边界提取器
边界提取器很好理解,要取某个值只需要确定左边界和右边界即可,左右边界间的内容即为需要的值。
1、添加边界提取器
在接口请求上右键-->添加-->后置处理器,选择边界提取器,如图:
添加边界提取器
边界提取器界面
2、在查看结果树中验证边界提取器
边界提取器取值
测试提取数据无误后,将表达式分别填入边界提取的左边界和右边界输入框中。
边界提取器
如果要使用边界提取器中的值,可以设置一个和json提取器中不同的变量名即可。
三、正则表达式提取器
正则表达式提取器提取内容有两种,一种是提取字符串,一种是提取具体的数据。
提取字符串语法:在字符串中输入--“(.*?)”,取字符串中的全部内容;
提取具体的数据:在数据后面输入--(.+?)
1、添加正则表达式提取器,正则表达式提取字符串中的值
正则表达式提取器
引用名称:自定义变量名
正则表达式:正则表达式
模板:取值方式
匹配数字(0代表随机):类似于json提取器中的使用方法,0表示随机取值
缺省值:可默认
2、在查看结果树中验证正则表达式
验证正则表达式提取字符串的值
3、添加正则表达式到提取器中,注意模板的写法为:$1$
取值表达式
4、使用正则表达式提取具体数据,(.+?)
注意在末尾需要添加一个边界符号,如下
提取数据
提取表达式填入提取器的表达式中即可。
今天讲解了三种提取器的用法,是非常重要的知识点,后面在学习跨线程和Beanshell取样器的时候会经常用到其中的一种提取器用法,建议同学都要掌握起来。好啦下节继续分享jmeter的跨线程和Beashell取样器用法,关注我后期更精彩,希望能帮到你!