介绍
今天就跟大家聊聊有关使用Jmeter如何实现后置处理器,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
<强> 1。JSON器强>
JSON器后置处理器用在返回格式为JSON的HTTP请求中,用来获取返回的JSON中的某个值。并保存成变量供后面的请求进行调用或断言等。
- <李>变量名:保存的变量名,后面使用${变量名称}引用李> <李> JSON路径表达式:上一步中调试通过的JSON路径表达式李> <李>匹配数字:匹配数字(0代表随机,1代表第一个,1代表所有)李> <李>默认值:找不到时默认值,一般设置为未找到李> <李>计算串联var (suffix_ALL):是否统计所有,即将匹配到的所有值保存,名为“变量名_ALL”,使用场景需要获取的值有多个,后面需要对这一组数据进行操作李>
JSON路径表达式的使用
JsonPath
描述美元
根节点
@
当前节点
支[]
子节点
.
选择所有符合条件的节点*
所有节点
[]
迭代器标示,如数组下标
[,]支持迭代器中做多选
[开始:结束步骤):
数组切片运算符
, # 63; ()
支持过滤操作
()
支持表达式计算
示例如下:
2。正则表达式
- <李>引用名称:自己定义的变量名称,后续请求将要引用到的变量名,如填写的是:JWT,后面的引用方式是$ {JWT} 李> <李>正则表达式:提取内容的正则表达式,相当于loadrunner中的关联函数李> <李>“()”;括起来的部分就是需要提取的,对于你要提的内容需要用小括号括起来李> <李>“!”匹配除了换行符以外的任何字符李> <李>“*”;(贪婪)重复零次或更多
- <李>例如“aaaaaaaa"匹配字符串中所有的一个正则:“*”;会出到所有的字符“a" 李>
- <李>例如“aaaaaaaa"匹配字符串中所有的一个正则:“+”;会取到字符中所有的一字符,“+”;与“*”;不同在于“+”;至少是一次而“*”;可以是0次李>
- <李>例如“aaaaaaaa"匹配字符串中的一个正则:“第一部;# 63;“只会匹配一次,也就是结果只是单个字符一个李>
- <李>例如“acbacb"正则“。*和# 63;b"只会取到第一个“acb"原本可以全部取到但加了限定符后,只会匹配尽可能少的字符,而“acbacb"最少字符的结果就是“acb"李>
- <李>“(及# 63;=exp)“;匹配实验前面的位置李> <李>“(及# 63;& lt;=exp)“;匹配实验后面的位置
,李,>
模板:用$ $引用起来,如果在正则表达式中有多个正则表达式(多个括号括起来的),则可以是$ 1 $,$ 2 $,$ 3 $等等,表示解析到的第几个值给var。例如:$ 1 $表示匹配到的第一个值
匹配数字:0代表随机取值,此时提取结果是一个数组,1表示取出匹配到的第一个值,负数表示提取所有符合条件的值。
- <李>缺省值:正则匹配失败时,取的值李> <李>想要知道正则表达式是否正确,可以在请求后加入调试取样器(右键——添加——取样器——调试取样器调试取样器)李> <李>没有特殊的情况用(。*和# 63;)就可以解决所有问题