Настройка 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
.