Skip to content
Vitest 3
Main Navigation 指南 & API配置瀏覽器模式進階 API
3.2.0
2.1.9
1.6.1
0.34.6

繁體中文

English
简体中文
Español
Français
Русский
Português – Brasil
Deutsch
日本語
한국어
Italiano
Polski
Türkçe
čeština
magyar

繁體中文

English
简体中文
Español
Français
Русский
Português – Brasil
Deutsch
日本語
한국어
Italiano
Polski
Türkçe
čeština
magyar

外觀

Sidebar Navigation

簡介

為何採用瀏覽器模式

瀏覽器模式

配置

瀏覽器配置參考

配置 Playwright

配置 WebdriverIO

API

Context API

互動 API

定位器

斷言 API

命令 API

指南

多重設定

配置參考

測試 API 參考

進階 API

本頁導覽

配置 Playwright ​

預設情況下,TypeScript 無法辨識提供者選項及額外的 expect 屬性。請務必參考 @vitest/browser/providers/playwright,以便 TypeScript 能載入自訂選項的定義:

ts
/// <reference types="@vitest/browser/providers/playwright" />

或者,您也可以將其加入 tsconfig.json 檔案中的 compilerOptions.types 欄位。請注意,在此欄位中指定任何值將會禁用 @types/* 套件的自動載入。

json
{
  "compilerOptions": {
    "types": ["@vitest/browser/providers/playwright"]
  }
}

Vitest 會開啟一個單一頁面,以在同一個檔案中執行所有測試。您可以在 instances 中設定 launch、connect 和 context 屬性:

ts
import { defineConfig } from 'vitest/config'

export default defineConfig({
  test: {
    browser: {
      instances: [
        {
          browser: 'firefox',
          launch: {},
          connect: {},
          context: {},
        },
      ],
    },
  },
})

WARNING

在 Vitest 3 之前,這些選項位於 test.browser.providerOptions 屬性中:

ts
export default defineConfig({
  test: {
    browser: {
      providerOptions: {
        launch: {},
        context: {},
      },
    },
  },
});

providerOptions 已被棄用,並由 instances 取代。

launch ​

這些選項直接傳遞至 playwright[browser].launch 命令。您可以在 Playwright 文件中查閱該命令及可用參數的更多資訊。

WARNING

Vitest 將忽略 launch.headless 選項。建議改用 test.browser.headless。

請注意,如果啟用 --inspect,Vitest 會將偵錯旗標加入 launch.args。

connect 3.2.0+ ​

這些選項直接傳遞至 playwright[browser].connect 命令。您可以在 Playwright 文件中查閱該命令及可用參數的更多資訊。

WARNING

由於此命令會連線至現有的 Playwright 伺服器,因此任何 launch 選項都將被忽略。

context ​

Vitest 透過呼叫 browser.newContext() 為每個測試檔案建立新的上下文。您可以透過指定自訂參數來設定此行為。

TIP

請注意,上下文是為每個測試檔案所建立,而非像 Playwright 測試執行器那樣為每個測試所建立。

WARNING

Vitest 始終將 ignoreHTTPSErrors 設定為 true,以應對您的伺服器透過 HTTPS 提供服務的情況;並將 serviceWorkers 設定為 'allow',以支援透過 MSW 進行模組模擬。

也建議使用 test.browser.viewport 而非在此處指定,因為當測試在無頭模式下執行時,該設定將會失效。

actionTimeout 3.0.0+ ​

  • 預設值: 無時間限制,3.0.0 之前為 1 秒

此值設定 Playwright 等待所有輔助功能檢查通過及動作實際完成的預設逾時時間。

您也可以為每個動作設定逾時:

ts
import { page, userEvent } from '@vitest/browser/context';

await userEvent.click(page.getByRole('button'), {
  timeout: 1_000,
});
Pager
上一頁瀏覽器配置參考
下一頁配置 WebdriverIO

以 MIT 授權條款 發布。

版權所有 (c) 2021-Present Vitest Team

https://vitest.dev/guide/browser/playwright

以 MIT 授權條款 發布。

版權所有 (c) 2021-Present Vitest Team