介面自動化之斷言
阿新 • • 發佈:2021-07-13
1.請求結果斷言
如果表格用例裡的提取返回資料不為空,再把json資料轉化為map格式,通過增強for迴圈讀取map裡的鍵再獲取到每一個值,通過response.jsonpath().get()得到實際值,再將期望值與實際值斷言
public static void responseequal(FutureloanPojo futureloanPojo){
if (futureloanPojo.getExtract()!=null){
String strexpect=futureloanPojo.getExpected();
Map<Object,Object> 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<String,Object> 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);
}
}
}
}