Konfiguracja WebdriverIO
Playwright vs WebdriverIO
Jeśli jeszcze nie używasz WebdriverIO w swoim projekcie, zalecamy rozpoczęcie od Playwright, ponieważ jest łatwiejszy w konfiguracji i ma bardziej elastyczne API.
Domyślnie TypeScript nie rozpoznaje opcji dla dostawców ani dodatkowych właściwości expect
. Aby TypeScript mógł pobrać definicje dla niestandardowych opcji, upewnij się, że dodałeś odwołanie do @vitest/browser/providers/webdriverio
:
/// <reference types="@vitest/browser/providers/webdriverio" />
Alternatywnie, możesz również dodać to do pola compilerOptions.types
w pliku tsconfig.json
. Pamiętaj, że zdefiniowanie czegokolwiek w tym polu spowoduje wyłączenie automatycznego ładowania pakietów @types/*
.
{
"compilerOptions": {
"types": ["@vitest/browser/providers/webdriverio"]
}
}
Vitest otwiera jedną stronę do uruchamiania wszystkich testów z danego pliku. W sekcji instances
możesz skonfigurować dowolną właściwość zdefiniowaną w RemoteOptions
:
import { defineConfig } from 'vitest/config'
export default defineConfig({
test: {
browser: {
instances: [
{
browser: 'chrome',
capabilities: {
browserVersion: 86,
platformName: 'Windows 10',
},
},
],
},
},
})
WARNING
Przed Vitest 3, te opcje znajdowały się we właściwości test.browser.providerOptions
:
export default defineConfig({
test: {
browser: {
providerOptions: {
capabilities: {},
},
},
},
});
providerOptions
zostało zastąpione przez instances
.
Większość dostępnych opcji możesz znaleźć w dokumentacji WebdriverIO. Zauważ, że Vitest zignoruje wszystkie opcje runnera testów, ponieważ korzystamy wyłącznie z funkcjonalności przeglądarki webdriverio
.
TIP
Najbardziej przydatne opcje znajdują się w obiekcie capabilities
. WebdriverIO obsługuje zagnieżdżone capabilities
, ale Vitest zignoruje te opcje, ponieważ stosujemy inny mechanizm uruchamiania wielu przeglądarek.
Zauważ, że Vitest zignoruje capabilities.browserName
. Zamiast tego użyj test.browser.instances.name
.