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) 进行操作

 

原文地址:https://www.cnblogs.com/Arlene729/p/12188063.html

时间: 2024-08-30 08:15:07

Jmeter 后置处理器之json提取器的相关文章

jmeter后置处理器之Json提取器详解

此提取器用于提取请求返回结果中的某个值或者某一组值,用法比正则表达式要简单,标准写法为$.key,其中key为返回结果map中的一个键,如果是多层则继续用.key进行即可,如果遇到key的value值为一个List,则使用.key[n],其中n为list中元素的编号,如下使用实例来说明下如何使用: 如上示例为单元素获取方法,如果要获取多个元素,则参数名称写多个,用逗号分开:而json提取器语法用分号隔开,应当与参数名称一一对应:匹配编号一样的需要用分号隔开,与参数名称一一对应:默认值同样用分号隔

jmeter后置处理器,正则表达式提取器的使用

[使用场景]:下一个请求参数需要从上一个请求的响应数据中获取 [jmeter正则表达式说明]:使用perl正则表达式(可参考:http://www.runoob.com/perl/perl-regular-expressions.html) [语法]: () 括起来的部分就是要提取的. .   匹配任何字符串. *  表示任意个字符 + 一次或多次. ? 不要太贪婪,在找到第一个匹配项后停止. \d        数字 \w       数字或者字母 {n}       表示n个字符 {n,m}

JMeter通过正则表达式、JSON提取器获取变量

??使用Jmeter开发测试脚本的过程中,经常需要对响应结果进行提取变量,本文就介绍两种经常用到的方法,一种是正则表达式提取器,一种是JSON提取器??本次介绍一种经常用到的业务场景,首先登录获取Token,然后将获取的Token赋予到HTTP信息头,供其它接口调用 一.JSON提取器 JSON提取器是专门用来对返回的响应结果是application/json格式的报文进行提取,如下所示 首先在需要提前变量的HTTP请求点击右键>添加>后置处理器>JSON提取器 JSON提取器,变量应用

性能测试五:jmeter进阶之后置处理器(正则、json提取器)

如,从get返回的json中提取stock的值 作为post的请求参数 1.JSON提取器 专门对json数据进行提取的后置处理器 Debug Sampler:记录之前的请求的所有参数及数据 2.正则表达式提取器 可以通过正则表达式来获取http请求返回的数据 引用名称:匹配后的结果,保存到一个参数中,如param 正则表达式:支持正则表达式的语法,用()来进行分组,指定要获取的内容,如":(.+?), 模板:$1$表示取匹配到的第一组数据,$2$为第二组 匹配数字:当某组数据中包含多少个参数时

后置处理器----JSON提取器

JSON提取器可以很方便的让你从JSON响应格式中提取数据. 1)Name:JSON提取器的名称. 2)Apply to:应用范围,有些采样器还嵌套子采样器,可以在此处设置JSON提取器是作用与主采样器和子采样器还是仅仅主采样器等. 3)Names of created variables:分号分割的变量的名称. 4)JSON Path expressions:JSON Path表达式. JSON Path 描述 $ 表示根元素 @ 表示当前节点 .  表示子节点 .. 选择所有符合条件的节点

Jmeter(5)JSON提取器

Jmeter后置处理器-JSON提取器 JSON是一种轻量级数据格式,以“键-值”对形式组织数据. JSON串中{}表示对象,[]表示对象组成的数组.对象包含多个“属性”:属性值,属性值可以是值.数组.对象. JSON提取器用json path表达式匹配.S表示根对象,取子对象或者对象的属性用.  取数组对象用[],数组索引从0开始 规则: 1.整个响应是个数组(数据用[]括起来),其中有N个对象,那么取值用$[索引].属性值,索引为0到N-1,表示第几个对象,取值用$[*].属性值取所有值 2

Jmeter之JSON提取器获取数组类型的数据

前言 在之前,我们已经学会了Jmeter的JSON提取器提取某个数据,还没掌握的小伙伴可以翻看我之前写的随笔Jmeter之JSON提取器,今天我们来学习一下怎么利用JSON提取器获取数组类型的数据,多用于列表信息数据的获取. 本章知识考察点 jsonpath方式获取的值 单个值怎么获取? data.files[索引].filed 多个指定的值怎么获取? data.files 0与-1的设置有什么区别? 0表示随机值,-1表示所有的值 一:先添加登录http请求,然后再添加获取文件列表http请求

Jmeter之JSON提取器

前言 很多接口都有相互的依赖性,登录接口需要依赖上一个注册接口的返回参数作为入参,今天我们来学习一下JSON提取器提取接口的返回结果 一:添加登录http请求,写入接口地址和参数,添加监听器-察看结果树,点击运行,查看返回的结果 二:添加后置处理器-JSON提取器,提取data值 三:添加取样器-Debug Sampler 看data的值是否提取到. token为data值的变量名,data值已经成功提取 原文地址:https://www.cnblogs.com/zhangwuxuan/p/12

jmeter中用json提取器提取响应数据中的多个值

json串 []表示对象组成的数组,{}表示对象. 对象里包含多个 "属性":属性值.属性值可以是值,或数组,或对象. JSON Extractor使用json path表达式匹配,可以一次取多个变量值.$表示响应的根对象.取子对象或对象的属性用.  取数组里的对象用[],数组索引从0开始. 示例: 例1  找一个响应结果是json格式的,分析响应结果. 比如下面的响应整个是个数组,其中有4个对象.因此取值用$[索引取0-3或*取所有].属性值 例2  如果响应类似{"属性&