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

页面导航

配置 WebdriverIO ​

Playwright vs WebdriverIO

如果你的项目尚未引入 WebdriverIO,我们建议从 Playwright 开始,因为它配置更简单,API 更灵活。

默认情况下,TypeScript 无法识别提供程序选项和额外的 expect 属性。请确保引用 @vitest/browser/providers/webdriverio,以便 TypeScript 能获取自定义选项的类型定义:

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

或者,你也可以将其添加到 tsconfig.json 文件中的 compilerOptions.types 字段。请注意,在此字段中指定任何值将禁用 @types/* 包的自动加载。

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

Vitest 会打开单个页面来运行同一文件中的所有测试。你可以在 instances 中配置 RemoteOptions 中指定的任何属性:

ts
import { defineConfig } from 'vitest/config'

export default defineConfig({
  test: {
    browser: {
      instances: [
        {
          browser: 'chrome',
          capabilities: {
            browserVersion: 86,
            platformName: 'Windows 10',
          },
        },
      ],
    },
  },
})

WARNING

在 Vitest 3 之前,这些选项位于 test.browser.providerOptions 属性中:

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

providerOptions 已被弃用,推荐使用 instances。

你可以在 WebdriverIO 文档中找到大多数可用选项。请注意,Vitest 将忽略所有测试运行器选项,因为我们只使用 webdriverio 的浏览器能力。

TIP

最有用的选项位于 capabilities 对象上。WebdriverIO 允许嵌套的能力,但 Vitest 将忽略这些选项,因为我们依赖不同的机制来生成多个浏览器。

请注意,Vitest 将忽略 capabilities.browserName。请改用 test.browser.instances.name。

Pager
上一页配置 Playwright
下一页Context API

基于 MIT 许可证 发布。

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

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

基于 MIT 许可证 发布。

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