使用场景:
大数据测试里面,经常会要求我们做大量数据的测试,一次给几百个字段让我们去对比数据是否正确,这时候可以在impala写一些sql把字段意思给计算出来,然后存成csv,再用jmeter去跑接口,去对比返回和excel中的数据,把不一样的数据提取出来。
String new_value = data.getFloat(new_key).toString(); 这里根据实际情况来,float不是很精确的小数
import org.json.JSONObject;
import java.util.*;
String response = prev.getResponseDataAsString();
JSONObject data = new JSONObject(response).getJSONObject("data");
Iterator it = data.keys();
while(it.hasNext()){
// 获得key
String new_key = it.next();
String new_value = data.getFloat(new_key).toString();
//log.info("koo_key: "+koo_key+",value="+value);
if(new_key.equals("userid")) {
log.info("now is user "+ new_value);
continue;
}
String old_key = new_key;
//log.info("key="+ key);
String old_value =vars.get(old_key);
//log.info("key: "+key+",value="+a);
String userid = vars.get("userid");
if(!new_value.equals(old_value)){
Failure=true;
FailureMessage = "old_key=>"+old_key + " and new_key=>"+new_key+" \'s value is not compare,new_value="+new_value+",old_value="+old_value;
log.error("userid"+userid+":key=" + new_key+",new_value="+new_value+",old_value="+ old_value +",Failure message="+FailureMessage);
}
}