react+unittest+flask 介面自動化測試平臺
1 前言
介面自動化測試的工具很多,比如soapUI,postman,jmeter等等,但是這些通用的工具的可擴充套件性以及跟專案的契合度上並不是十分合適。
單有框架,還不足以讓介面自動化更簡化,自動化測試需要大量編碼維護工作,為了改善這些問題,解放重複的勞動力,所以將其做成平臺型的,可以讓不懂技術的人都能使用,同時也讓介面用例更加簡單明瞭,易維護。
開源地址如下,歡迎提bug或建議。
服務端:https://github.com/t880216t/manager-server
前端:https://github.com/t880216t/manager-web
簡單示範下使用流程。
2 框架
2-1 框架簡介
前端reactjs語言實現,後臺由flask提供restful介面,基於python unittest測試框架,一鍵生成測試指令碼,視覺化的維護測試資料。
2-2 框架介紹
1-基於Python+unittest測試框架
2-二次封裝了urlib庫,對於cookie及存在業務流程依賴的資料,做了儲存處理,可連貫測試業務流程及不同的請求場景。
3-支援多專案、不同環境資料引數的擴充套件。
4-支援返回值的code、指定欄位校驗,提升測試準確性。
5-定時任務、即時任務執行,滿足穩定介面自動化業務測試及臨時介面的除錯測試。
6-線上報告展示以及Email自動傳送報告
2-3 框架結構
結構圖:
分為前後臺兩套程式碼:
3 平臺
3-1 平臺元件圖
1 新建用例
2 生成測試任務
3 執行並檢視測試報告
3-2 用例管理
線上編寫自動化測試,讓大家都能夠參與測試
自動化用例編輯視覺化,使自動化過程更加簡單明瞭
針對需要連續流程獲取的引數值,提供json型別的資料解析,獲取指定的值。
3-2-1 用例設計
平臺用例執行流程圖
3-3 任務管理
3-3-1 建立任務
根據測試用例,生成指定域名或測試機器ip的測試任務。
3-3-2 執行任務
定時任務是在每日的指定時間點自動執行指定的測試任務集。
每次執行(包括手動執行和定時任務)之後,都會生成一份測試報告,傳送給指定人。
3-3-3 測試報告
可按測試時間及給定檔名,生成對應時間的html視覺化報告,報告內容包含測試耗時,測試執行用例總數,執行成功、失敗、出錯用例數統計;還有單個用例的執行情況(ID,用例名稱,服務端返回值,執行結果等)
跟大家推薦一個學習資料分享群:747981058,裡面大牛已經為我們整理好了許多的學習資料,有自動化,介面,效能等等的學習資料!人生是一個逆水行舟的過程,不進則退,咱們一起加油吧!
3-3-4 郵件通知
暫時傳送人和接收人是寫在程式碼裡的,看需求再看是否需要做成前端配置,郵件會直接顯示報告結果,也可以檢視附件詳細內容。