jmeter 中使用json提取器

由于现在的项目都是 前后端分离的形式,所以接口中的参数大多都是json形式,Jmeter也为json数据开发了专门的json提取器,通过json path来提取值,使用更加方便,快捷。

json path 语法

使用json提取器之前,咱们先用一个在线工具学一下 json path如何使用
推荐使用电脑打开:在线工具地址
http://www.atoolbox.net/Tool.php?Id=792

image.png

  1. 提取firstName的值可以写 $.firstName

    1. $: 代表整个json,根节点
    2. . : 点代表下个节点
    3. $.firstName 意思就是,找到 根节点下的firstName的值
  2. 提取根节点下的 address,下的 city
    注意:根节点下的 address是一个对象
    在json中以{}括起来的叫对象,city是 address对象的子节点,所以表达式写为: $.address.city

  3. 提取列表中的值,phoneNumbers的值是一个列表,列表使用[] 括起来,列表中可以存放多个对象,并且对象的格式是一样的


    image.png

    提取phoneNumbers列表中的第一个对象的type的值
    语法: .phoneNumbers[0].type 取列表里面的值,要在后面加上[],里面填写索引值,第一个对象 对应索引0, 第二个对应索引1,以此类推。 .phoneNumbers[0] 就代表 第一个对象,
    $.phoneNumbers[0].type就代表第一个对象的 type值

在jmeter 中使用json提取器

使用json提取器提取token

登录接口详情

POST http://qa.yansl.com:8084/login
data:
{
“pwd”: “aa123456”,
“userName”: “test002”
}
请求头:Content-Type:application/json(不明白的,参见HTTP协议第六章请求首部详解)

1.1 添加基础元件


image.png
image.png

注意:http信息头管理器需要添加在登陆节点下!

1.2 添加响应结果树并运行脚本

image.png
  1. 添加json提取器
image.png
  1. 填写提取器参数(对照上面的响应结果添加对应数据)
image.png
  • Variable names:保存的变量名,后面使用${Variable names}引用
  • JSON Path expressions:调试通过的json path表达式
  • Match Numbers:匹配数字(0代表随机,1代表第一个,-1代表所有)
  • Default Values:找不到时默认值
  • Compute concatenation var(suffix_ALL):是否统计所有,即将匹配到的所有值保存,名为“变量名_ALL”

4.添加调试取样器

image.png
  1. 运行查看结果
image.png

jmeter提取列表中的参数

查询接口详情

GET http://qa.yansl.com:8084/acc/getAllAccs/1/3
(同样需要注意请求头需要添加的信息)

  1. 添加一个http请求及其他元件
image.png
  1. 用json提取器提取查询出来的第二个用户的余额


    image.png
  2. 运行查看结果

image.png

你可能感兴趣的:(jmeter 中使用json提取器)