Jmeter中使用BeanShell获取指定的值

Jmeter中可以使用Beanshell编写代码,来实现很多功能,这里介绍的是提取指定的值
**场景:**需要审核一条数据,前提是,是有这条数据的status是4的时候,该条数据才可以进行审核操作
具体操作方法:
1.正常添加请求,获取返回数据,返回的数据中,"data"是一个对象,其下包含"list"数组;"list"数组下包含我们需要取值的多个对象
在这里插入图片描述
2.添加Beanshell前置处理器
在这里插入图片描述
3.配置Beanshell
在这里插入图片描述
这里编写代码的时候,引入了一个jar包,是需要把它添加在测试计划中的
在这里插入图片描述
4.在审核请求中,引用我们取到的id
在这里插入图片描述
5.执行脚本,可以看到成功的取到了数据id啦
在这里插入图片描述
图中的代码如下:
import org.json.*;
String response_data = prev.getResponseDataAsString();//自定义一个变量response_data,来获取请求的返回值
JSONObject response = new JSONObject(response_data);//自定义一个对象response,将返回值构造JSON对象
JSONArray list = response.getJSONObject(“data”).getJSONArray(“list”);//自定义一个列表list,来获取响应中data对象下的list数组
JSONObject list_data = null;//创建1个空的json对象list_data,用于接收值
String id = “null”;//创建一个空的id,用来接收值
for (int i = 0; i<list.length(); i++ ){
list_data = (JSONObject)list.getJSONObject(i);//将数组中的每一个值构造成一个对象,赋值给list_data
int status=list_data.getInt(“status”);//把对象中statues的值转换成整型
if(status==3){
id = list_data.getString(“id”).toString();//把符合条件的对象中的id,转换成字符串
break;
}
}
vars.put(“result_id”,id);//把id值赋予给参数result_id
return “成功获取id”;//运行结束后的返回值

猜你喜欢

转载自blog.csdn.net/haiou24/article/details/83417952