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.