介面&UI 自動化測試平臺:我基於 FastAPI HTTPx 和 Playwright 寫了個平臺 大佬們康康行不行?

曹永琦發表於2025-02-14

作為一名測試工程師,入行近五年,我一直想著打造一個自動化測試平臺(不知道是不是 49 入國軍)。近兩年,藉助 AI 的幫助,我的前端能力得到了顯著提升,也是將專案空餘時間弄了起來。

技術棧

後端:FastAPI
介面請求:Httpx
UI 自動化:Playwright
前端:React + Ant Design

核心執行 cases 邏輯 簡單

for case in cases:
  execute(case)

雖然這種方式已經能夠滿足基本需求,但我一直在思考是否有更高效、更強大的執行方式。如果你有更好的建議,歡迎分享!


git 地址 https://github.com/Caoyongqi912/case_auto_hub
readme 中 展示圖更多

介面自動化能力

基礎 HTTP 請求:支援多種 HTTP 請求型別(GET、POST、PUT、DELETE 等)。
變數提取與寫入:可從響應中提取變數,支援在後續請求中使用。
斷言功能:提供響應狀態碼、內容等多種斷言驗證。
前後置指令碼:在用例執行前後執行自定義 Python 指令碼。
除錯模式:逐步執行測試用例,便於精準排查問題。
用例執行:支援單個或批次用例的執行。
定時任務:定時執行介面測試任務,適用於定期測試。
報告展示:自動生成並展示 HTML 格式的測試報告,明確顯示成功與失敗的詳細資訊。
實時日誌視覺化:在測試執行過程中實時展示日誌,便於進度監控。
介面錄製(未完善):錄製介面請求並快速生成對應的測試用例。(計劃在未來版本中實現)
UI 自動化功能

✨ Playwright :
UI 自動化支援:整合了 Playwright,能夠執行瀏覽器自動化測試,模擬使用者操作介面。
步驟錄入:支援在 UI 測試中錄入測試步驟,便於快速建立測試用例。
前後置介面請求:每個步驟可與前後置介面請求結合,動態調整測試流程。
全域性變數:支援全域性變數的管理,步驟和請求中的變數可以全域性共享,方便管理和使用。
公共步驟編輯:支援建立和管理公共步驟,可以重複使用,減少冗餘,提升效率。
任務管理:與介面測試類似,UI 測試任務支援定時執行與結果推送,支援企業微信等推送方式。
SQL 支援(未完成):計劃在未來版本中支援 SQL 操作,增強資料處理能力。
IF 條件判斷執行:支援根據條件判斷執行特定步驟,靈活控制測試流程。

放幾張最新的圖:
首頁:

API 列表

API 詳情

日誌


圖太多不想截了。 具體可以去 git 上看看

給一些寶貴的建議

相關文章