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 无法识别 provider 选项和额外的 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