Jmeter学习总结(4)——提取接口响应内容JSON Extractor

2023-12-30 12:26:53

后置提取常见的方式:正则表达式和JSON Extractor。

而接口响应大多是JSON格式。

在JSON提取器之前,可以根据响应结果去编写所需要的JSON表达式,在结果树中选择JSON PATH TESTER。

{
	"server_time": 1232333333333,
	"data": {
		"num": 10,
		"list": [{
				"id": 1,
				"orderno": "001"
			},
			{
				"id": 2,
				"orderno": "002"
			}
		]
	},
	"success": true
}

如提取第一层的server_time,则为:$.server_time。

如提取第二层的num,则为:$.data.num。

如果要提取第三层第一个orderno的值,list是一个数组,第一个orderno在list[0]下,则提取表达式为:$.data.list[0].orderno。

如果获取list数组下所有orderno的值,则为:$.data.list[*].orderno。

表达式写对后应用到JSON提取器,邮件Sampler增加PostProcessor-》JSON Extractor。

Name of created Variables:提取的值存放的变量名称,多个用分号隔开

JSON Path Expression:表达式,支持多个表达式,用分号隔开

Match No:0代表随机,1代表第一个,-1代表所有,多个用分号隔开

Compute concatenation var:如果匹配所有时,就将所有值存入变量名_ALL中

Default Value:提取不到值时的默认值

如上述示例:

增加Beanshell后置处理器,用来打印提取内容,执行结果如下:

name1 = vars.get("name1");
log.info(name1);
name2 = vars.get("name2");
log.info(name2);

文章来源:https://blog.csdn.net/xjtlzl/article/details/135303351
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。