使用 Chrome 進行自動化和測試

如要建構穩健優質的網頁應用程式,自動化瀏覽器測試是不可或缺的環節。無論您是執行持續整合 (CI) 端對端套件、跨瀏覽器版本執行迴歸測試,還是自動執行瀏覽器互動,Chrome 都提供專屬的工具和執行模式套件,專為開發人員和測試自動化工程師設計。

本總覽介紹 Chrome 自動化和測試生態系統中的核心產品,包括 Chrome for TestingChromeDriverPuppeteerChrome 無頭模式,並說明如何搭配使用這些產品,打造可靠且可重現的測試工作流程。


Chrome for Testing

Chrome for Testing 是專為網頁應用程式測試和自動化用途設計的 Chrome 版本。

執行端對端測試套件或持續整合 (CI) 管道時,您通常需要重複測試執行作業,並取得一致且可重現的結果。Chrome for Testing 可供您下載並固定特定 Chrome 版本,用於測試環境,不必依賴標準瀏覽器安裝作業。

主要功能與特色

  • 依需求下載特定版本:存取特定版本的 Chrome 二進位檔,確保測試時使用的版本與您選擇的完全一致。
  • 各管道的配對二進位檔:針對所有管道 (穩定版Beta 版開發人員版Canary 版) 的每個 Chrome 版本,Chrome for Testing 都會提供相符的 Chrome 二進位檔,以及相關的 ChromeDriver 二進位檔,並提供舊版 Chrome 無頭外殼 (chrome-headless-shell),供仍在使用自動化測試的使用者使用。
  • 輕鬆自動下載:您可以使用 @puppeteer/browsers 指令列公用程式輕鬆下載二進位檔,或透過可用性資訊主頁查詢。

瞭解詳情


ChromeDriver

ChromeDriver 是開放原始碼的獨立伺服器,可實作 W3C WebDriver 標準和雙向 WebDriver BiDi 通訊協定。做為 WebDriver 架構 (例如 Selenium、WebDriverIO 和 Nightwatch) 與 Chrome 瀏覽器之間的橋樑。

主要功能與特色

  • 支援 W3C WebDriver 和 WebDriver BiDi:支援傳統 WebDriver 自動化指令,以及透過 WebDriver BiDi 進行即時雙向通訊,可快速監聽事件、監控網路及攔截記錄。
  • 與 Chrome for Testing 同步發布:ChromeDriver 版本直接整合至 Chrome for Testing 基礎架構。每個 Chrome for Testing 版本都會同步發布相應的 ChromeDriver 版本,解決版本不相容的問題。

瞭解詳情


布偶操作員

Puppeteer 是 Google 開發的 JavaScript 程式庫,可透過 Chrome 開發人員工具通訊協定 (CDP) 或 WebDriver BiDi 提供高階 API 來控制 Chrome。

主要功能與特色

  • 免設定自動化:Puppeteer 預設會自動下載相容的 Chrome for Testing 二進位檔,啟用開箱即用的瀏覽器自動化功能。
  • 全面掌控 Chrome:輕鬆擷取螢幕截圖、產生 PDF、自動提交表單、攔截網路要求,以及在有頭或無頭模式下執行 UI 測試。

瞭解詳情


Chrome 無頭模式

Chrome 無頭模式可讓您在無人看管的環境中執行 Chrome,且不會顯示任何使用者介面。在指令列中傳遞 --headless 標記,Chrome 就能在伺服器環境、容器和 CI/CD 管道中順利執行。

主要功能與特色

  • 統一的瀏覽器引擎:新版無頭模式 (--headless) 與有頭 Chrome 採用完全相同的瀏覽器實作方式。
  • 豐富的自動化和偵錯功能:支援擷取螢幕截圖、產生 PDF、遠端偵錯及設定虛擬螢幕。

瞭解詳情


示例:結合使用這些產品

在典型的自動化測試或持續整合 (CI) 工作流程中,這些產品會共同提供可重現的無人測試環境:

  1. 瀏覽器二進位檔 (Chrome for Testing):使用特定且版本固定的 Chrome for Testing 二進位檔,確保測試結果在各次執行中都具有確定性。
  2. 執行模式 (Chrome 無頭模式):無頭模式 (--headless) 中執行該二進位檔,以便在伺服器、容器或 CI 管道中順利執行測試,且不會顯示圖形。
  3. 自動化驅動程式 (Puppeteer 或 ChromeDriver):使用 Puppeteer 等自動化程式庫或透過 WebDriver BiDi 連線的任何其他測試架構,驅動瀏覽器。

Puppeteer 會自動連結這些片段。安裝後,這個套件會下載相容的 Chrome for Testing 二進位檔,並預設以無頭模式啟動。

使用 W3C WebDriver 架構 (例如 Selenium 或 WebdriverIO) 時,您可以自動下載相符的Chrome for TestingChromeDriver 二進位檔,並傳遞 --headless 旗標,在沒有 UI 的情況下執行。


企業和發布管道指南