那些年jmeter工具遇到的坑-接口返回值与数据库查询值做断言比较

log.info("开始执行================");
import java.util.*;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.text.SimpleDateFormat;
import java.text.DateFormat;
import org.apache.commons.lang3.StringUtils;
import java.util.Date;

String dataResult = "true";
String dataMessage = "success";
StringBuffer buffer=new StringBuffer();

Date date = new Date();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");

// 数据校验方法
public void varifiMethod(Object queryStr , Object respoStr , String falseStr){
//如果查询得到的字段不为null
if(queryStr!=null&&!"".equals(queryStr)){
//如果查询得到的字段不等于请求报文返回的字段
if(!(queryStr.toString()).trim().equals((respoStr.toString()).trim())){
buffer.append("返回值"+falseStr+"="+respoStr+"错误1"+queryStr+"\n");
}
}else{
if(queryStr==null){
if(respoStr!=null){
buffer.append("返回值"+falseStr+"="+respoStr+"错误2,null的情况"+queryStr+"\n");
}
}else if("".equals(queryStr)){
if(!"".equals(respoStr)){
buffer.append("返回值"+falseStr+"="+respoStr+"错误2,空字符串的情况"+queryStr+"\n");
}
}else{

}
}
}

// 数据库查询信息为
Object getAgencySalesInfo = vars.getObject("pgs");


// 获取返回报文中的数据
String respStr = vars.get("yuzhe");
JSONObject responseObj = JSONObject.parseObject(respStr);

// 返回报文中的字段为
String[] array1 = {"branchId","stat","mechanismstat","mobile","staffName","branchName","branchAddress","agencyId","classIdtwo","agencyName","channelId"};

// 数据库查询的字段为
String[] array2 = {"ID_NO","STAT","MECHANISMSTAT","MOBILE","STAFF_NAME","BRANCH_NAME","BRANCH_ADDRESS","AGENCY_ID","CLASS_IDTWO","AGENCY_NAME","CHANNEL_ID"};

log.info("查询的值为:" +responseObj.get("data"));

if(responseObj.get("data") != null){
if(responseObj.get("data").size() != getAgencySalesInfo.size()){
}else{
log.info("进来了吗?");
for(int i = 0;i<responseObj.get("data").size();i++){
log.info("进来了吗?123");
for(int j = 0;j<array2.length;j++){
varifiMethod(getAgencySalesInfo.get(i).get(array2[j]),responseObj.get("data").get(array1[j]), "id为:"+getAgencySalesInfo.get(i).get(array2[j])+"==="+i+"_"+array1[j]);
}
}
}
}

if(!"".equals(buffer.toString())){
dataResult = "false";
dataMessage = buffer.toString();
}
vars.put("dataResult",dataResult);
vars.put("dataMessage",dataMessage);


断言:
String result = vars.get("dataResult");
String message = vars.get("dataMessage");
if("true".equals(result)){
Failure = false;
FailureMessage = message;
}else{
Failure = true;
FailureMessage = message;
}

获取返回报文:
// 获取返回报文
String responseData = prev.getResponseDataAsString();
vars.put("yuzhe",responseData);

posted @ 2021-06-18 13:30  蘑菇慢慢  阅读(469)  评论(0)    收藏  举报