Puppeteer 簡介



Puppeteer 用於自動化和簡化前端開發和測試。它由 Google 推出。Puppeteer 基於 Node.js 庫,並且是開源的。

Puppeteer 包含用於互動和管理 Chrome 瀏覽器(無頭模式)或 Chromium(遵循 DevTools 協議)的 API。但是,它也可以用於在 Chrome/Chromium/Edge/Firefox 等瀏覽器上進行非無頭模式執行。

Puppeteer 可用於自動化大部分 UI 測試、鍵盤、滑鼠移動等。它可用於測試用 Angular 和 Angularjs 開發的應用程式。可以使用 Puppeteer 執行網頁抓取和爬取等操作。

Puppeteer 不被認為是像 Selenium、Cypress、Protractor 等那樣的自動化工具。它主要用於管理 Chromium 瀏覽器的內部功能。我們可以透過按 F12 或 Command+Option+C(在 MacOS 上)在 Chrome 瀏覽器中開啟 DevTools。

Automation and Streamlining

Puppeteer 就像一個開發工具,因為它能夠執行開發人員執行的大部分任務,例如處理請求和響應、定位元素、網路流量和效能等等。

如果我們關注過去幾年的 Puppeteer 下載的 npm 趨勢,我們將觀察到 Puppeteer 使用率的上升趨勢(可從以下連結獲取):

www.npmtrends.com/puppeteer

Puppeteer Downloads

Puppeteer 架構

Puppeteer 利用 Node 庫,該庫提供用於管理 Chromium 或 Chrome 瀏覽器的頂級 API。這是透過遵循 DevTools 協議完成的。

Puppeteer 具有以下層次結構:

  • 瀏覽器(帶/不帶無頭模式) - 瀏覽器執行要在瀏覽器引擎上執行的操作。

  • Chromium 開發專案或 CDP - Chromium 是所有操作實際執行的地方。Microsoft Edge 和 Chrome 瀏覽器使用 Chromium 作為瀏覽器引擎。

  • Puppeteer - 這實際上是基於 node 模組的包。

  • 自動化測試程式碼 - 這也稱為 Nodejs 層。在這裡,終端使用者使用 JavaScript 開發實際的自動化程式碼。

廣告
© . All rights reserved.