1 概述
在SOAP协议流行的年代, XML在数据交换领域顶起了一片天
后来随着REST的兴起, JSON受到越来越多的青睐
JSON相较于XML, 不冗余, 占用空间少, 序列化快, 且更适合javascript
JMeter是由纯Java编写, 本身不自带解析json的工具包, 如fastjson, 手动添加到ext目录当然可行, 不过有更简便的方法为何不用呢
- JSON Extractor
- Regular Expression Extractor
- JSR223 PostProcessor
2 准备
使用json-server模拟接口(教程可参考https://github.com/typicode/json-server), db.json如下
{
"posts": [
{
"id": 1,
"title": "json-server",
"author": "typicode"
},
{
"title": "postman",
"author": "lion",
"id": 6
}
]
}
3 实战
3.1 创建工程
新增http请求, 我们希望从响应的结果中提取title属性
image.png3.2 JSON Extractor
- Names of created variables: 变量名
- JSON Path experssions: json表达式, 用于抽取数据
- Match No.: 匹配对象, -1表示全部, 0表示随机, n表示第n个匹配结果
-
Compute concatenation var: 创建一个变量
变量名_ALL
, 其值为全部匹配结果的拼接(以,
连接) - Default Values: 如果表达式未抽取到结果, 则以默认值赋值
josn表达式语法参考
image.png3.3 Regular Expression Extractor
正则表达式相对简单, 主要结合正则匹配的group
- Template: 取分组
3.4 JSR223 PostProcessor
Groove自带json解析器, 所以可以直接使用
image.png3.5 查看结果
除指定变量外, 还有一些隐藏变量, 大家可以找找看
image.png
网友评论