Playwright konfigurieren
Standardmäßig erkennt TypeScript die Provider-Optionen und zusätzliche expect
-Eigenschaften nicht. Stellen Sie sicher, dass Sie auf @vitest/browser/providers/playwright
verweisen, damit TypeScript die Definitionen für benutzerdefinierte Optionen erkennen kann:
/// <reference types="@vitest/browser/providers/playwright" />
Alternativ können Sie dies auch dem 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/playwright"]
}
}
Vitest öffnet eine einzige Seite, um alle Tests in derselben Datei auszuführen. Sie können die Eigenschaften launch
, connect
und context
in instances
konfigurieren:
import { defineConfig } from 'vitest/config'
export default defineConfig({
test: {
browser: {
instances: [
{
browser: 'firefox',
launch: {},
connect: {},
context: {},
},
],
},
},
})
WARNING
Vor Vitest 3 befanden sich diese Optionen unter der Eigenschaft test.browser.providerOptions
:
export default defineConfig({
test: {
browser: {
providerOptions: {
launch: {},
context: {},
},
},
},
});
providerOptions
ist zugunsten von instances
als veraltet markiert.
launch
Diese Optionen werden direkt an die Methode playwright[browser].launch
übergeben. Weitere Informationen zur Methode und den verfügbaren Argumenten finden Sie in der Playwright-Dokumentation.
WARNING
Vitest wird die Option launch.headless
ignorieren. Verwenden Sie stattdessen test.browser.headless
.
Beachten Sie, dass Vitest Debugging-Flags in launch.args
aufnimmt, falls --inspect
aktiviert ist.
connect 3.2.0+
Diese Optionen werden direkt an die Methode playwright[browser].connect
übergeben. Weitere Informationen zur Methode und den verfügbaren Argumenten finden Sie in der Playwright-Dokumentation.
WARNING
Da diese Methode eine Verbindung zu einem bestehenden Playwright-Server herstellt, werden sämtliche launch
-Optionen ignoriert.
context
Vitest erstellt für jede Testdatei einen neuen Browser-Kontext durch den Aufruf von browser.newContext()
. Sie können dieses Verhalten durch die Angabe von benutzerdefinierten Argumenten konfigurieren.
TIP
Beachten Sie, dass der Kontext für jede Testdatei erstellt wird und nicht für jeden Test, wie es im Playwright-Testrunner der Fall ist.
WARNING
Vitest setzt ignoreHTTPSErrors
immer auf true
, wenn Ihr Server über HTTPS ausgeliefert wird, und serviceWorkers
auf 'allow'
, um das Modul-Mocking über MSW zu unterstützen.
Es wird auch empfohlen, test.browser.viewport
zu verwenden, anstatt es hier anzugeben, da diese Einstellung verloren ginge, wenn Tests im Headless-Modus ausgeführt werden.
actionTimeout
3.0.0+
- Standardwert: kein Timeout (vor Version 3.0.0: 1 Sekunde)
Dieser Wert konfiguriert das Standard-Timeout, das Playwright abwartet, bis alle Barrierefreiheitsprüfungen bestanden sind und die Aktion tatsächlich abgeschlossen ist.
Sie können das Aktionstimeout auch aktionsweise konfigurieren:
import { page, userEvent } from '@vitest/browser/context';
await userEvent.click(page.getByRole('button'), {
timeout: 1_000,
});