bug0inc/passmark
The open-source Playwright library for AI browser regression testing with intelligent caching, auto-healing, and multi-model verification.
解決的問題
Passmark 是一個專為消除傳統選擇器導向瀏覽器回歸測試脆弱性而設計的 Playwright 庫。它允許開發者以自然語言撰寫測試,即使 DOM 結構變更,測試也不會中斷,同時透過多模型 AI 共識引擎提供高可信度的斷言。
工作原理
Passmark 與 Playwright 集成,執行以普通英文描述的瀏覽器步驟。它使用 AI 模型將這些描述轉換為操作。為確保穩定性與準確性,採用了以下關鍵機制:
- 多模型共識: 斷言由 Claude 和 Gemini 並行驗證。若兩者意見不一致,則由第三個仲裁模型解決衝突。
- 智慧快取: 成功的操作儲存在 Redis 中;後續執行優先使用快取操作,若失敗則回退至 AI 執行,並自動修復快取。
- 執行模式: 支援標準 ARIA 可存取性快照以提升效率,以及使用 OpenAI 的電腦使用代理的「CUA 模式」(Computer Use Agent),實現視覺化、截圖驅動的自動化。
- 影片斷言: 對於如通知訊息(toast)等暫時性 UI 元素,可記錄步驟執行過程,並使用 Gemini 的 Files API 基於影片評估斷言。
適用對象
主要針對希望維護穩定端對端瀏覽器測試的 QA 工程師與開發者,特別適用於 AI 編碼代理頻繁修改 UI 的情境,無需反覆更新 CSS 選擇器或 XPath。
核心亮點
- 自然語言步驟: 以描述序列方式撰寫測試,而非僵化的程式碼選擇器。
- 基於共識的驗證: 透過多個 LLM 驗證測試結果,降低測試不穩定性。
- 自動修復快取: 結合傳統測試的速度與 AI 适应 UI 變化的彈性。
- 靈活的 AI 路由: 支援直接使用提供者 SDK 或透過 Vercel、OpenRouter、Cloudflare 等 AI 網關。
- 整合郵件測試: 內建支援一次性郵件服務提供者,用於測試驗證流程。
相關
- 專案
- 專案
- 專案
- 專案
- 專案