接口自动化之断言


1.请求结果断言

如果表格用例里的提取返回数据不为空,再把json数据转化为map格式,通过增强for循环读取map里的键再获取到每一个值,通过response.jsonpath().get()得到实际值,再将期望值与实际值断言

public static void responseequal(FutureloanPojo futureloanPojo){
if (futureloanPojo.getExtract()!=null){
String strexpect=futureloanPojo.getExpected();
Map expect= JSONObject.parseObject(strexpect,Map.class);
for (Object key:expect.keySet()){
Object valueexpected=expect.get(key);
Object valueactual= response.jsonPath().get((String) key);
Assert.assertEquals(valueactual,valueexpected);
}
}
}

2.数据库断言

public static void assertSQL(FutureloanPojo futureloanPojo){
String sqlassert=futureloanPojo.getSql();
if (sqlassert!=null){
Map sqlassertmap= JSONObject.parseObject(sqlassert,Map.class);
for (String key:sqlassertmap.keySet()){
//Integer expectedvalue=(Integer) sqlassertmap.get(key);
Object expectedvalue=sqlassertmap.get(key);
if (expectedvalue instanceof BigDecimal){
Object actualvalue=singledata(key);
Assert.assertEquals(actualvalue,expectedvalue);
}else if (expectedvalue instanceof Integer){
Long expectedvalue2=((Integer)expectedvalue).longValue();
Object actualvalue=singledata(key);
Assert.assertEquals(actualvalue,expectedvalue2);
}
}
}
}