用jmeter的BeanShell断言,判断返回值相关
假设接口返回值
{
"code":"0000",
"msg":"成功",
"txId":"111",
"data":[
{
"aa":"aaa"
},
{
"bb":"bbb"
}
]
}
如果我们想用jmeter做断言,判断data中"{}"的数量,需要进行如下操作
jmeter需要引入fastjson的jar包,可参考文章:
https://blog.csdn.net/weixin_65920414/article/details/127962713
将下载的jar包放入jmeter的bin目录,重启jmeter
先加BeanShell 后置处理程序
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONPath;
import java.util.List;
String response_data = prev.getResponseDataAsString();
JSONObject response_data_obj= JSON.parseObject(response_data);
log.info("data_obj:"+response_data_obj);
String str_data = response_data_obj.getString("data");
log.info("str_data:"+str_data);
JSONArray data_arr= JSON.parseArray(str_data);
log.info("data_arr:"+data_arr);
data_count = data_arr.size();// 判断arr中object数量
vars.put("count",data_count.toString());
在加入BeanShell断言
int count=Integer.parseInt(vars.get("count"));
System.out.println(count);
if(count!=2){
Failure=true;
FailureMessage="数据条数不对";
}else{
Failure=false;
FailureMessage="测试通过";
}
如果成功,则返回成功,失败,则返回如下