Cypress 是一種流行的基於 JavaScript 的端到端測試框架,旨在簡化 Web 應用程式測試。在其各種功能中,cypress run 指令脫穎而出,成為持續整合和部署管道中自動化測試的重要工具。它允許您在無頭環境或指定瀏覽器中執行測試,提供靈活性、速度和自動化功能。
在本文中,我們將深入探討如何使用 cypress run、其選項、實際範例以及將其整合到測試工作流程中的最佳實踐。
什麼是 cypress run?
cypress run 指令使用預設的 Electron 瀏覽器或任何其他支援的瀏覽器(例如 Chrome 或 Firefox)以無頭模式執行 Cypress 測試。此命令專為自動化測試場景而定制,例如在 CI/CD 管道、夜間建置或任何不需要 GUI 的環境中執行測試套件。
與開啟互動式測試運行器的 cypress open 指令不同,cypress run 是專門為自動化測試執行而設計的,使其成為現代開發工作流程中的關鍵工具。
為什麼要使用cypress run?
- 自動化測試:非常適合在 CI/CD 管道中無需手動幹預即可運行測試。
- 快速執行:無頭模式可減少開銷,從而更快完成測試。
- 跨瀏覽器支援:跨不同瀏覽器執行測試以進行相容性檢查。
- 偵錯工具:自動擷取螢幕截圖和影片以進行偵錯。
- 平行測試:透過將測試分佈在多台機器上來加快測試執行速度。
_______________________________________
cypress run 的基本文法
cypress run 指令最簡單的形式是:
巴什
複製程式碼
npx 賽普拉斯運行
這個命令:
• 執行位於cypress/integration 資料夾中的所有測試檔案。
• 在預設的Electron 瀏覽器中執行測試。
• 在無頭模式下運作。
_______________________________________
常用的 cypress 運行選項
Cypress 提供了各種選項來自訂 cypress run 指令。以下是最有用的:
- 指定瀏覽器
在特定瀏覽器(例如 Chrome 或 Firefox)中執行測試:
巴什
複製程式碼
npx cypress run --chrome瀏覽器
- 運行特定的測試文件
專注於特定的測試文件或資料夾:
巴什
複製程式碼
npx cypress run --spec "cypress/integration/login.spec.js"
- 小組測試
對測試運行進行分類和標記,這在儀表板中特別有用:
巴什
複製程式碼
npx cypress run --group「回歸測試」
- 記錄結果
與 Cypress Dashboard 整合以記錄和分析測試結果:
巴什
複製程式碼
npx cypress run --record --key YOUR_PROJECT_KEY
- 傳遞環境變數
在測試執行期間注入環境變數:
巴什
複製程式碼
npx cypress run --env ENV=staging,API_URL=https://staging.api.example.com
- 並行測試
在多台機器上執行測試以減少總體執行時間:
巴什
複製程式碼
npx cypress run --parallel --record --key YOUR_PROJECT_KEY
- 禁用視頻
防止 Cypress 錄製影片:
巴什
複製程式碼
npx cypress run --video false
_______________________________________
進階使用場景
在 CI/CD 管道中執行測試
Cypress 廣泛用於 CI/CD 管道中的回歸和冒煙測試。典型的設定可能如下所示:
巴什
複製程式碼
npx cypress run --record --key YOUR_PROJECT_KEY --spec "cypress/integration/*/.spec.js"
在自訂環境中執行測試
如果您對開發、登台和生產環境有不同的配置,則可以傳遞特定於環境的變數:
巴什
複製程式碼
npx cypress run --env ENV=生產
使用以下方法在測試腳本中存取這些變數:
javascript
複製程式碼
const apiUrl = Cypress.env('API_URL');
調試測試失敗
新增 --headed 標誌以查看在可見瀏覽器中執行的測試:
巴什
複製程式碼
npx cypress run --headed
若要啟用詳細的調試日誌:
巴什
複製程式碼
DEBUG=cypress:* npx cypress 運行
_______________________________________
實際範例指令
- 在 Chrome 中執行所有測試
巴什
複製程式碼
npx cypress run --chrome瀏覽器
- 並行執行測試
巴什
複製程式碼
npx cypress run --parallel --record --key YOUR_PROJECT_KEY
- 測試單一規格文件
巴什
複製程式碼
npx cypress run --spec "cypress/integration/cart.spec.js"
- 使用環境變數執行測試
巴什
複製程式碼
npx cypress run --env 使用者名稱=admin,密碼=秘密
_______________________________________
cypress run 的調試技巧
如果測試失敗或表現異常,請考慮以下故障排除技術:
- 檢查測試日誌:使用詳細日誌記錄來找出錯誤。
- 檢視螢幕截圖和影片:Cypress 會自動儲存失敗測試的螢幕截圖和影片。
- 增加測試逾時:如果測試因逾時而失敗,請增加 cypress.json 檔案中的值:
json
複製程式碼
{
“預設指令逾時”:10000
}
- 重試 Flaky 測試:在 cypress.json 中啟用重試:
json
複製程式碼
{
「重試」:2
}
_______________________________________
使用 cypress run 的最佳實踐
- 與 CI/CD 管道整合:自動測試每個程式碼推送或部署。
- 使用並行執行:將測試分佈在多台機器上以減少執行時間。
- 利用 Fixtures:使用模擬資料來避免對外部 API 的依賴。
- 最佳化測試:消除不必要的等待並確保測試隔離且可靠。
- 監控結果:利用賽普拉斯儀表板進行詳細的見解和趨勢分析。
_______________________________________
結論
cypress run 指令是一個用於自動化和簡化測試過程的強大工具。無論您是將其整合到 CI/CD 管道中、跨多個環境運行測試還是調試複雜的場景,cypress run 都提供了確保穩健且高效的測試所需的靈活性和功能。
透過掌握其用法和最佳實踐,您可以顯著增強您的測試策略並充滿信心地交付高品質的軟體。立即開始利用 cypress run 來釋放 Cypress 在您的開發工作流程中的全部潛力。
以上是cypress run 綜合指南:自動化您的測試工作流程的詳細內容。更多資訊請關注PHP中文網其他相關文章!