1、為什么要寫代碼實現接口自動化
大家知道很多接口測試工具可以實現對接口的測試,如postman、jmeter、fiddler等等,而且使用方便,那么為什么還要寫代碼實現接口自動化呢?工具雖然方便,但也不足之處:
測試數據不可控制
接口測試本質是對數據的測試,調用接口,輸入一些數據,隨后,接口返回一些數據。驗證接口返回數據的正確性。在用工具運行測試用例之前不得不手動向數據庫中插入測試數據。這樣我們的接口測試是不是就沒有那么“自動化了”。
無法測試加密接口
這是接口測試工具的一大硬傷,如我們前面開發的接口用工具測試完全沒有問題,但遇到需要對接口參 數進行加密/解密的接口,例如 md5、base64、AES 等常見加密方式。本書第十一章會對加密接口進行介紹。 又或者接口的參數需要使用時間戳,也是工具很難模擬的。
擴展能力不足
當我們在享受工具所帶來的便利的同時,往往也會受制于工具所帶來的局限。例如,我想將測試結果生 成 HMTL 格式測試報告,我想將測試報告發送到指定郵箱。我想對接口測試做定時任務。我想對接口測試做持續集成。這些需求都是工具難以實現的。
2、接口自動化測試設計
接口測試調用過程可以用下圖概括,增加了測試數據庫
一般的 接口工具 測試過程:
1、接口工具調用被測系統的接口(傳參 username="zhangsan")。
2、系統接口根據傳參(username="zhangsan")向 正式數據庫 中查詢數據。
3、將查詢結果組裝成一定格式的數據,并返回給被調用者。
4、人工或通過工具的斷言功能檢查接口測試的正確性。
接口自動化測試項目,為了使接口測試對數據變得可控,測試過程如下:
1、接口測試項目先向 測試數據庫 中插入測試數據(zhangsan 的個人信息)。
2、調用被測系統接口(傳參 username="zhangsan")。
3、系統接口根據傳參(username="zhangsan")向測試數據庫中進行查詢并得到 zhangsan 個人信息。
4、將查詢結果組裝成一定格式的數據,并返回給被調用者。
5、通過單元測試框架斷言接口返回的數據(zhangsan 的個人信息),并生成測試報告。
為了使正式數據庫的數據不被污染,建議使用獨立的 測試數據庫 。
2、requests庫
Requests 使用的是 urllib3,因此繼承了它的所有特性。Requests 支持 HTTP 連接保持和連接池 ,支持 使用cookie保持會話 ,支持 文件上傳 ,支持 自動確定響應內容的編碼。 對request庫的更詳細的介紹可以看我之前接口測試基礎的文章:
//www.jb51.net/article/122571.htm?pc
新聞熱點
疑難解答