Playwright基礎篇(二):基本執行選項

Playwright 基本執行選項
常用命令列選項
指令: playwright codegen 自動產生測試程式碼
Playwright 提供了非常實用的 codegen 功能,讓您不必自己從頭編寫測試程式碼。
npx playwright codegen https://example.com
使用這個命令時:
- 它會自動開啟一個瀏覽器視窗
- 您在視窗中進行的所有操作(點擊、輸入等)都會自動轉換為程式碼
- 同時會開啟一個代碼生成器視窗,顯示即時生成的測試程式碼
- 當您完成操作後,只需複製生成的程式碼到您的測試檔案中即可
這對於新手來說極其有用,因為您可以通過實際的操作來學習如何編寫測試程式碼。
指令: playwright —headed 選項:以視覺化方式執行測試
預設情況下,Playwright 會在無頭模式下運行(即不顯示瀏覽器界面)。如果您想看到測試的實際執行過程,ㄇ可以使用 —headed 選項:
npx playwright test --headed
優點:
- 直觀地觀察測試執行情況
- 對於調試和學習非常有幫助
- 看到測試如何與頁面元素互動
指令:playwright —debug 選項:除錯模式詳解
當測試失敗或您需要深入了解問題時,—debug 選項非常有用:
npx playwright test --debug
使用 debug 模式時:
- 測試會逐步執行
- 提供暫停、繼續、單步執行等控制
- 可以檢查頁面狀態、DOM 元素和測試上下文
- 瀏覽器開發者工具將可用
這個模式非常適合找出測試失敗的原因,特別是對於複雜的頁面互動。
其他實用選項介紹
指定瀏覽器:
npx playwright test --project=chromium
您可以指定只在某個瀏覽器執行測試(chromium、firefox 或 webkit)
重試失敗的測試:
npx playwright test --retries=3
自動重試失敗的測試,最多 3 次
調整測試執行速度:
npx playwright test --slow-mo=1000
每個操作之間添加 1000 毫秒延遲,方便觀察
生成測試報告:
npx playwright test --reporter=html
生成一個 HTML 報告,便於檢視測試結果
測試執行方式
執行全部測試
要執行專案中的所有測試,只需簡單運行:
npx playwright test
這將執行 tests 目錄下的所有測試檔案。
執行特定測試檔案
如果您只想運行特定的測試檔案,可以指定檔案路徑:
npx playwright test tests/login.spec.js
您也可以使用萬用字元執行多個相關檔案:
npx playwright test tests/cart-*.spec.js
篩選測試用例
Playwright 允許您僅執行特定的測試用例:
使用測試名稱篩選:
npx playwright test -g "登入功能"
執行所有名稱中包含「登入功能」的測試
使用標記(tag): 在測試代碼中添加標記:
test('登入測試 @smoke', async ({ page }) => {
// 測試程式碼
});
然後執行帶有特定標記的測試:
npx playwright test --grep @smoke
排除特定測試:
npx playwright test --grep-invert @slow
執行所有不帶 @slow 標記的測試
測試執行結果解析
了解測試報告
Playwright 提供多種格式的測試報告:
命令行報告:
預設情況下直接顯示在終端機中
- 顯示測試總數、通過/失敗數
- 執行時間
- 失敗測試的錯誤訊息
HTML 報告:
npx playwright test --reporter=html
執行後,運行以下命令查看報告:
npx playwright show-report
HTML 報告功能:
- 測試執行概覽
- 詳細的測試結果列表
- 失敗測試的截圖和視訊記錄(如果已配置)
- 完整的錯誤追踪
- 可過濾和搜索的界面
解讀錯誤訊息
當測試失敗時,理解錯誤訊息非常重要:
-
定位錯誤:
- 錯誤訊息會指出失敗發生的確切位置(文件和行號)
- 顯示預期結果與實際結果的差異
-
常見錯誤類型:
- 元素無法找到:通常是選擇器問題或頁面結構變化
- 超時錯誤:頁面載入或操作響應時間過長
- 斷言失敗:實際結果與預期不符
-
調試技巧: 當遇到難以理解的錯誤時:
- 使用 —debug 模式重新執行測試
- 在關鍵點添加
await page.pause()
暫停執行 - 檢查 playwright.config.js 中的超時設置是否合理
- 考慮在測試中添加更多日誌輸出(console.log)
通過熟悉這些基本的執行選項和結果解析技巧,即使是初學者也能有效地使用 Playwright 進行自動化測試,並且在遇到問題時能夠快速定位和解決。
分享這篇文章: