Настройка WebdriverIO
Playwright или WebdriverIO
Если вы еще не используете WebdriverIO в своем проекте, мы рекомендуем начать с Playwright, так как его проще настраивать и у него более гибкий API.
По умолчанию TypeScript не распознает опции провайдеров и дополнительные свойства expect. Убедитесь, что вы ссылаетесь на @vitest/browser/providers/webdriverio, чтобы TypeScript мог подхватить определения для пользовательских опций:
/// <reference types="@vitest/browser/providers/webdriverio" />В качестве альтернативы вы также можете добавить его в поле types в compilerOptions в вашем файле tsconfig.json. Обратите внимание, что любое указание в этом поле отключит автоматическую загрузку пакетов @types/*.
{
"compilerOptions": {
"types": ["@vitest/browser/providers/webdriverio"]
}
}Vitest использует одну страницу для запуска всех тестов в одном файле. В instances можно задать любые свойства из RemoteOptions:
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:
export default defineConfig({
test: {
browser: {
providerOptions: {
capabilities: {},
},
},
},
});providerOptions устарел и заменён на instances.
Большинство доступных опций вы можете найти в документации WebdriverIO. Обратите внимание, что Vitest будет игнорировать все параметры тестового раннера, потому что мы используем только браузерные возможности WebdriverIO.
TIP
Наиболее полезные опции находятся в объекте capabilities. WebdriverIO поддерживает вложенные параметры, но Vitest будет игнорировать эти опции, потому что используется другой механизм для запуска нескольких браузеров.
Обратите внимание, что Vitest будет игнорировать capabilities.browserName. Вместо этого используйте test.browser.instances.name.