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

testing

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 報告功能:

  • 測試執行概覽
  • 詳細的測試結果列表
  • 失敗測試的截圖和視訊記錄(如果已配置)
  • 完整的錯誤追踪
  • 可過濾和搜索的界面

解讀錯誤訊息


當測試失敗時,理解錯誤訊息非常重要:

  1. 定位錯誤

    • 錯誤訊息會指出失敗發生的確切位置(文件和行號)
    • 顯示預期結果與實際結果的差異

  2. 常見錯誤類型

    • 元素無法找到:通常是選擇器問題或頁面結構變化
    • 超時錯誤:頁面載入或操作響應時間過長
    • 斷言失敗:實際結果與預期不符

  3. 調試技巧: 當遇到難以理解的錯誤時:

    • 使用 —debug 模式重新執行測試
    • 在關鍵點添加 await page.pause() 暫停執行
    • 檢查 playwright.config.js 中的超時設置是否合理
    • 考慮在測試中添加更多日誌輸出(console.log)

通過熟悉這些基本的執行選項和結果解析技巧,即使是初學者也能有效地使用 Playwright 進行自動化測試,並且在遇到問題時能夠快速定位和解決。

分享這篇文章: