接口測試中,有兩種需要校驗:
一、HTTP狀態碼校驗,驗證返回的狀態碼為200
示例:斷言 status_code 是否等於200示例
二、 業務校驗:
- 業務的響應碼,有請求成功的響應碼 和請求失敗的響應碼。
- 當接口響應報文比較短,比較固定的情況下,校驗完全一致
- 當接口響應報文比較長,比較多的情況下,校驗最核心的業務信息。
- 當接口響應報文非常復雜的多層級xml格式或者json格式,通過xpath ,JSONpath,正在表達式的匹配方式獲取到最關鍵的業務節點,然后再校驗。
- 查詢數據庫校驗
核心就是:業務狀態碼的校驗 和 核心字段校驗
示例:
業務的響應碼是由項目里邊統一定的,之前做過的項目是用10個0代碼 接口請求成功,errcode="0000000000" errmsg="成功",可根據具體的響應碼進行斷言。
核心字段的斷言 ,可借助chrome瀏覽器的插件 JSON-handle_0.6.1.crx ,非常好用。
以下示例與上述桃子搜索的結果無關,只是為了展示這個好用的json查看器
HTTP常見的狀態碼:
200 OK 請求成功。一般用於GET與POST請求(HTTP狀態碼表示網絡傳輸的意義,如200只應該表示連接上了服務器,而不應該用來表示業務邏輯返回成功。)
301 Moved Permanently 永久移動。請求的資源已被永久的移動到新URI,返回信息會包括新的URI,瀏覽器會自動定向到新URI。今后任何新的請求都應使用新的URI代替
302 Found 臨時移動。與301類似。但資源只是臨時被移動。客戶端應繼續使用原有URI
304 Not Modified 未修改。所請求的資源未修改,服務器返回此狀態碼時,不會返回任何資源。客戶端通常會緩存訪問過的資源,通過提供一個頭信息指出客戶端希望只返回在指定日期之后修改的資源
307 Temporary Redirect 臨時重定向。與302類似。使用GET請求重定向
400 Bad Request 客戶端請求的語法錯誤,服務器無法理解
401 Unauthorized 請求要求用戶的身份認證
500 Internal Server Error 服務器內部錯誤,無法完成請求
502 Bad Gateway 作為網關或者代理工作的服務器嘗試執行請求時,從遠程服務器接收到了一個無效的響應
503 Service Unavailable 由於超載或系統維護,服務器暫時的無法處理客戶端的請求。延時的長度可包含在服務器的Retry-After頭信息中
504 Gateway Time-out 充當網關或代理的服務器,未及時從遠端服務器獲取請求