Python介面自動化測試框架執行原理及流程
阿新 • • 發佈:2020-12-01
本文總結分享介紹介面測試框架開發,環境使用python3+selenium3+unittest+ddt+requests測試框架及ddt資料驅動,採用Excel管理測試用例等整合測試資料功能,以及使用HTMLTestRunner來生成測試報告,目前有開源的poman、Jmeter等介面測試工具,為什麼還要開發介面測試框架呢?因介面測試工具也有存在幾點不足。
- 測試資料不可控制。比如介面返回資料不可控,就無法自動斷言介面返回的資料,不能斷定是介面程式引起,還是測試資料變化引起的錯誤,所以需要做一些初始化測試資料。介面工具沒有具備初始化測試資料功能,無法做到真正的介面測試自動化。
- 無法測試加密介面。實際專案中,多數介面不是可以隨便呼叫,一般情況無法摸擬和生成加密演算法。如時間戳和MDB加密演算法,一般介面工具無法摸擬。
- 擴充套件能力不足。開源的介面測試工具無法實現擴充套件功能。比如,我們想生成不同格式的測試報告,想將測試報告發送到指定郵箱,又想讓介面測試整合到CI中,做持續整合定時任務。
測試框架處理流程
測試框架處理過程如下:
- 首先初始化清空資料庫表的資料,向資料庫插入測試資料;
- 呼叫被測試系統提供的介面,先資料驅動讀取excel用例一行資料;
- 傳送請求資料,根據傳引數據,向資料庫查詢得到對應的資料;
- 將查詢的結果組裝成JSON格式的資料,同時根據返回的資料值與Excel的值對比判斷,並寫入結果至指定Excel測試用例表格;
- 通過單元測試框架斷言介面返回的資料,並生成測試報告,最後把生成最新的測試報告HTML檔案傳送指定的郵箱。
測試框架結構目錄介紹
目錄結構介紹如下:
- config/: 檔案路徑配置
- database/: 測試用例模板檔案及資料庫和傳送郵箱配置檔案
- db_fixture/: 初始化介面測試資料
- lib/: 程式核心模組。包含有excel解析讀寫、傳送郵箱、傳送請求、生成最新測試報告檔案
- package/: 存放第三方庫包。如HTMLTestRunner,用於生成HTML格式測試報告
- report/: 生成介面自動化測試報告
- testcase/: 用於編寫介面自動化測試用例
- run_demo.py: 執行所有介面測試用例的主程式
介面測試用例的主程式GitHub專案地址:https://github.com/yingoja/DemoAPI
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。