前言
在某个接口,需要断言多个json数据,网上给的方案是加个支持json list 的jar包,这个比较麻烦,使用JSR223很容易实现
实现:
1、首先加入jsr223 后置处理器获取变量数据
import groovy.json.JsonSlurper;
def jsonResponse = null;
def JSON = new JsonSlurper ();
if("200".equals(prev.getResponseCode())){
jsonResponse = JSON.parseText(prev.getResponseDataAsString());
if(jsonResponse.keySet().containsAll(["respx"])){ //判断status 200的时候获取数据
vars.put("respx",jsonResponse.respx.toString())
};
if(jsonResponse.keySet().containsAll(["spx"])){
vars.put("spx",jsonResponse.spx.toString())
};
}
2、加入jsr223断言
def respx1= vars.get("respx")
def spx1= vars.get("spx")
if(respx1!=null || spx1=="200" ){ //respx1不为空或者spx1 为200d的时候才为成功
AssertionResult.setFailure(false);
}else{
AssertionResult.setFailure(true);
}
测试,JSR223 多个断言多性能的没有多大的影响。