WebdriverIO konfigurieren
Playwright vs. WebdriverIO
Falls Sie WebdriverIO noch nicht in Ihrem Projekt verwenden, empfehlen wir, mit Playwright zu beginnen, da es einfacher zu konfigurieren ist und eine flexiblere API bietet.
Standardmäßig erkennt TypeScript die Anbieteroptionen und zusätzlichen expect
-Eigenschaften nicht. Stellen Sie sicher, dass Sie auf @vitest/browser/providers/webdriverio
verweisen, damit TypeScript Definitionen für benutzerdefinierte Optionen erkennen kann:
/// <reference types="@vitest/browser/providers/webdriverio" />
Alternativ können Sie die Referenz auch zum Feld compilerOptions.types
in Ihrer tsconfig.json
-Datei hinzufügen. Beachten Sie, dass jede Angabe in diesem Feld das automatische Laden von @types/*
-Paketen deaktiviert.
{
"compilerOptions": {
"types": ["@vitest/browser/providers/webdriverio"]
}
}
Vitest öffnet eine einzelne Seite, um alle Tests in derselben Datei auszuführen. Sie können jede in RemoteOptions
definierte Eigenschaft in instances
konfigurieren:
import { defineConfig } from 'vitest/config'
export default defineConfig({
test: {
browser: {
instances: [
{
browser: 'chrome',
capabilities: {
browserVersion: 86,
platformName: 'Windows 10',
},
},
],
},
},
})
WARNING
Vor Vitest 3 befanden sich diese Optionen in der Eigenschaft test.browser.providerOptions
:
export default defineConfig({
test: {
browser: {
providerOptions: {
capabilities: {},
},
},
},
});
providerOptions
ist veraltet und wird durch instances
ersetzt.
Die meisten Optionen finden Sie in der WebdriverIO-Dokumentation. Beachten Sie, dass Vitest alle Test-Runner-Optionen ignoriert, da wir nur die Browser-Fähigkeiten von webdriverio
nutzen.
TIP
Die wichtigsten Optionen befinden sich im capabilities
-Objekt. WebdriverIO erlaubt verschachtelte Fähigkeiten, aber Vitest ignoriert diese Optionen, da wir einen anderen Mechanismus zum Starten mehrerer Browser verwenden.
Beachten Sie, dass Vitest capabilities.browserName
ignoriert. Verwenden Sie stattdessen test.browser.instances.name
.