JMeter JSON Path 与 BeanShell PostProcessor配置

本文介绍如何在JMeter中使用JSONPath或BeanShell处理器解析HTTP响应中的JSON数据,并将其作为后续请求的参数。通过具体示例展示了如何利用fastjson库遍历和提取JSON数组中的关键信息。

JMeter测试Http请求时,通常需要分析Response数据,并作为下一次Request的参数,可以使用JSON Path处理器或者BeanShell处理器

JSON Path PostProcessor

在这里插入图片描述

BeanShell PostProcessor
在这里插入图片描述

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.io.*;
import java.util.*;
try
{
	String response_data = prev.getResponseDataAsString();
	JSONArray respArray = JSON.parseArray(response_data);
	for(Iterator it=respArray.iterator();it.hasNext();)
	{
		JSONObject obj = (JSONObject)it.next();
		String newId = vars.get("instanceId");
		String instanceId = (String)obj.get("instanceId");
		if(newId.equals(instanceId))
		{
			String instWorkitemId = (String)obj.get("id");
			String instProcessId = (String)obj.get("instProcessId");
			String instActivityId = (String)obj.get("instActivityId");
			vars.put("instProcessId",instProcessId);
			vars.put("instActivityId",instActivityId);
			vars.put("instWorkitemId",instWorkitemId);
			log.info("2   instProcessId=== "+instProcessId+",instActivityId="+instActivityId+",instWorkitemId="+instWorkitemId);
		}
	}
}
catch(Exception e)
{
	log.info(e.getMessage());
}



//vars.put("result", "1234");

解析JSON需要第三方包fastjson.jar
https://pan.baidu.com/s/1gwN3zN9IBVUa5XRzs-17fQ

将fastjson-1.2.54.jar复制到JMeter/lib/ext目录下
在这里插入图片描述

使用提取的变量
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值