# /e2e — 自動化端對端測試 (E2E Testing) 使用 Playwright 或 Cypress 規劃並執行自動化瀏覽器測試。 ## 使用方式 ```bash /e2e <測試情境描述> ``` ## 功能說明 此指令會呼叫 **e2e-runner** agent(位於 `agents/e2e-runner.md`): 1. **環境檢查**:偵測安裝的是 Playwright 還是 Cypress。 2. **計畫**:定義測試步驟(導覽、互動、斷言)。 3. **實作**:撰寫測試程式碼並儲存。 4. **執行**:執行測試並擷取結果(包含錯誤截圖)。 5. **修復**:如果測試失敗,自動修復程式碼並重試。 ## 使用範例 ```bash /e2e 測試使用者登入流程並驗證儀表板載入 /e2e 驗證購物車在重新整理後仍保持正確數量 /e2e 檢查所有導覽列連結是否導向正確頁面 ``` ## 支援的框架 | 框架 | 偵測指標 | 指令 | |-----------|-----------|---------| | **Playwright** | `playwright.config.ts` | `npx playwright test` | | **Cypress** | `cypress.config.ts` | `npx cypress run` | ## 測試產生規範 - **Page Object Model (POM)**:若專案已在使用則遵循此模式。 - **Selectors**:優先使用 `data-testid` > `aria-label` > `placeholder` > `text`。 - **抗脆弱性**:包含顯式等待(Explicit waits)與正確的斷言。 - **清理**:測試完成後負責清理測試資料。 ## 報告結果 會話結束時,您將收到: - ✅ **通過**:測試成功完成的摘要。 - ❌ **失敗**:錯誤訊息、失敗行號以及(若可用)截圖路徑。 ## 注意事項 - e2e 測試通常耗時較長。 - 確保相關的開發伺服器(Dev Server)已在背景執行。 - 針對新功能開發,建議先執行 `/plan`。