Jmeter 后置处理器之json提取器
Posted arlene729
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jmeter 后置处理器之json提取器相关的知识,希望对你有一定的参考价值。
Apply to(应用范围):
Main sample and sub-samples:应用于主sample及子sample
Main sample only:默认的是这个,应用于主sample
Sub-samples only:应用于子sample
JMeter Variable :应用于变量命名的内容
Variable names:参数名, 可自定义名称
JSON Path expression:json表达式 以 " $. " 开头
Match Numbers:匹配第几个值,不填写默认获取符合条件的第一个, 0为随机、N为获取第N个、-1获取所有(匹配项是-1 且匹配结果有多个值时,会通过逗号将多个值拼接,可以通过 参数名_ALL 的方式进行调用)
Compute comcatemation var(suffix_ALL):勾选此项后,匹配到多个结果时,插件将使用“,”分隔符将它们连接起来,并将其存储在名为<Variable names>_ALL的var中 (需配合Match Numbers:-1 使用哦)
Default Values:当没有获取到参数值时的默认值
我们可以通过 JSON Path Expression进行测试 我们的json表达式是否正常,是否匹配到想要的值
在查看结果树中 选择JSON Path Tester 选择右侧的JSON Path Tester 然后在底下JSON Path Expression输入表达式进行匹配测试
那么,我们来看下面这个json串进行实战练习吧~
获得第一层msg的value值
获得第三层中custName的value值
获取addressList中的第一个省份
获取addressList中的所有省份
获取contactList中的 contactName=张庆的联系号码
value值为字符串时需加引号,非字符串时可不加引号 如:?(@.main==true)
获取多个key的value值
获得key的前N个value值
如 获取前2个contactName值
获取key的第N个之后的所有value值
最后小结
Match Numbers 0为随机、N为获取第N个、-1获取所有
Compute comcatemation var(suffix_ALL):配合Match Numbers= -1 可将多个value值通过逗号 拼接成一起,通过 参数名_ALL 进行调用
json表达式 如下 $.key1.key2
碰到list需要通过[]去获得里面的key值,[0]获得第一个,以此类推,[*] 获得全部; [:3]获取前三个; [2:]获取第二个之后的所有(同理可得[0:]也能获得全部)
需要获得特定条件下的value值 可通过 ?(@.main==true) 进行操作
以上是关于Jmeter 后置处理器之json提取器的主要内容,如果未能解决你的问题,请参考以下文章