跳至主要內容

設定類型

WebdriverIO 可以用於各種用途。它實作了 WebDriver 協定 API,並可以自動化方式執行瀏覽器。此框架的設計旨在於任何任意環境和任何種類的任務中運作。它獨立於任何第三方框架,僅需 Node.js 即可執行。

協定繫結

對於與 WebDriver 和其他自動化協定的基本互動,WebdriverIO 使用其自身基於 webdriver NPM 套件的協定繫結。

setup/webdriver.js
loading...

所有協定命令都會回傳來自自動化驅動程式的原始回應。該套件非常輕巧,且**沒有**任何類似自動等待的智慧邏輯來簡化與協定的互動。

套用至實例的協定命令取決於驅動程式的初始工作階段回應。例如,如果回應表示已啟動行動工作階段,則該套件會將所有 Appium 和行動 JSON 線路協定命令套用至實例原型。

當匯入 devtools NPM 套件時,您可以使用 Chrome DevTools 協定執行同一組命令(行動命令除外)。它具有與 webdriver 套件相同的介面,但其自動化是基於 Puppeteer 執行。

如需有關這些套件介面的詳細資訊,請參閱模組 API

獨立模式

為了簡化與 WebDriver 協定的互動,webdriverio 套件在協定之上實作了各種命令(例如dragAndDrop 命令)和核心概念,例如智慧型選取器自動等待。上述範例可以簡化如下:

setup/standalone.js
loading...

在獨立模式中使用 WebdriverIO 仍然允許您存取所有協定命令,但提供了一組額外的超集命令,可提供更高層次的瀏覽器互動。它允許您將此自動化工具整合到您自己的(測試)專案中,以建立新的自動化程式庫。熱門範例包括SpectronCodeceptJS。您也可以撰寫純 Node 腳本來從網路擷取內容(或任何其他需要執行瀏覽器的操作)。

如果未設定任何特定選項,WebdriverIO 將永遠嘗試下載並設定符合您功能中 browserName 屬性的瀏覽器驅動程式。對於 Chrome 和 Firefox,它也可能會安裝它們,具體取決於它是否可以在機器上找到對應的瀏覽器。

如需有關 webdriverio 套件介面的詳細資訊,請參閱模組 API

WDIO 測試執行器

儘管如此,WebdriverIO 的主要目的是大規模的端對端測試。因此,我們實作了一個測試執行器,可協助您建置易於讀取和維護的可靠測試套件。

測試執行器會處理許多使用純自動化程式庫時常見的問題。首先,它會組織您的測試執行並分割測試規範,以便您的測試可以以最大並行性執行。它還會處理工作階段管理,並提供許多功能來協助您偵錯問題並在測試中尋找錯誤。

以下是上述相同的範例,它被寫成測試規範並由 WDIO 執行:

setup/testrunner.js
loading...

測試執行器是 Mocha、Jasmine 或 Cucumber 等熱門測試框架的抽象。若要使用 WDIO 測試執行器執行您的測試,請查看開始使用章節以取得更多資訊。

如需有關 @wdio/cli 測試執行器套件介面的詳細資訊,請參閱模組 API

歡迎!我能如何協助您?

WebdriverIO AI Copilot