Playwright 可靠的端到端測試

一個與 Puppeteer 類似的端到端(e2e)測試工具。

Playwright 爲當代 Web 應用程序提供可靠的端到端測試。

支持所有瀏覽器

在 Chromium、Firefox 和 WebKit 上進行測試。Playwright 擁有適用於所有當代瀏覽器的完整 API,包括 Google Chrome 和 Microsoft Edge(帶有 Chromium)、Apple Safari(帶有 WebKit)和 Mozilla Firefox。

跨平臺 WebKit 測試。藉助 Playwright,使用適用於 Windows、Linux 和 macOS 的 WebKit 構建測試您的應用在 Apple Safari 中的行爲。在本地和 CI 上進行測試。

測試手機。使用設備模擬在移動 Web 瀏覽器中測試您的響應式 Web 應用程序。

無頭和有頭。Playwright 支持所有瀏覽器和所有平臺的無頭(無瀏覽器 UI)和有頭(帶瀏覽器 UI)模式。Headed 非常適合調試,而 Headless 速度更快,適合 CI / 雲執行。

快速可靠的執行

自動等待 API。Playwright 動會自動等待元素準備就緒。這提高了可靠性並簡化了測試編寫。

無超時自動化。Playwright 接收瀏覽器信號,如網絡請求、頁面導航和頁面加載事件,以消除導致不穩定的睡眠超時的需要。

使用瀏覽器上下文快速隔離。將單個瀏覽器實例重用於具有瀏覽器上下文的多個隔離執行環境。

彈性元素選擇器。Playwright 可以依靠面向用戶的字符串(如文本內容和可訪問性標籤)來選擇元素。這些字符串比緊密耦合到 DOM 結構的選擇器更有彈性。

強大的自動化功能

多個域、頁面和框架。Playwright 是一個進程外自動化驅動,不受頁內 JavaScript 執行範圍的限制,可以自動化多頁面場景。

強大的網絡控制。Playwright 引入了上下文範圍的網絡攔截來存根和模擬網絡請求。

當代瀏覽器功能特性。Playwright 支持 web components、地理定位、權限、 web workers 和其他當代 web APIs.

覆蓋所有場景的能力。支持文件下載和上傳、進程外 iframe、本機輸入事件,甚至暗黑模式。

安裝

Playwright 有自己的測試運行器用於端到端測試,我們稱之爲 Playwright 測試。

npm i -D @playwright/test
# install supported browsers
npx playwright install

您可以選擇僅安裝選定的瀏覽器

第一次測試

創建 tests/foo.spec.js(或 tests/foo.spec.ts 用於 TypeScript)來定義您的測試。

import { test, expect } from '@playwright/test';
test('basic test', async ({ page }) => {
  await page.goto('https://playwright.dev/');
  const title = page.locator('.navbar__inner .navbar__title');
  await expect(title).toHaveText('Playwright');
});

現在運行您的測試,假設測試文件在 tests 目錄中。

npx playwright test

Playwright Test 剛剛使用 Chromium 瀏覽器以無頭方式運行了一個測試。讓我們告訴它使用有頭瀏覽器:

npx playwright test --headed

其他瀏覽器呢?讓我們使用 Firefox 運行相同的測試:

npx playwright test --browser=firefox

最後,在所有瀏覽器上測試:

npx playwright test --browser=all
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/4aB5KuX1dTkLitul5qydTw