Konfigurace Playwrightu
TypeScript ve výchozím nastavení nerozpoznává nastavení poskytovatelů a další vlastnosti expect
. Ujistěte se, že odkazujete na @vitest/browser/providers/playwright
, aby TypeScript mohl získat definice pro vlastní možnosti:
/// <reference types="@vitest/browser/providers/playwright" />
Alternativně můžete tento odkaz přidat do pole compilerOptions.types
ve vašem souboru tsconfig.json
. Upozorňujeme, že jakékoli specifikování v tomto poli zakáže automatické načítání balíčků @types/*
.
{
"compilerOptions": {
"types": ["@vitest/browser/providers/playwright"]
}
}
Vitest používá jednu stránku ke spuštění všech testů v rámci jednoho souboru. V sekci instances
lze konfigurovat vlastnosti launch
, connect
a context
:
import { defineConfig } from 'vitest/config'
export default defineConfig({
test: {
browser: {
instances: [
{
browser: 'firefox',
launch: {},
connect: {},
context: {},
},
],
},
},
})
WARNING
Před Vitest 3 byly tyto možnosti umístěny ve vlastnosti test.browser.providerOptions
:
export default defineConfig({
test: {
browser: {
providerOptions: {
launch: {},
context: {},
},
},
},
});
providerOptions
je zastaralé a místo něj se doporučuje použít instances
.
launch
Tyto volby jsou přímo předávány příkazu playwright[browser].launch
. Více informací o příkazu a dostupných argumentech naleznete v dokumentaci Playwright.
WARNING
Vitest bude ignorovat nastavení launch.headless
. Místo toho použijte test.browser.headless
.
Upozorňujeme, že Vitest přidává ladicí příznaky do launch.args
, pokud je povoleno --inspect
.
connect 3.2.0+
Tyto volby jsou přímo předávány příkazu playwright[browser].connect
. Více informací o příkazu a dostupných argumentech naleznete v dokumentaci Playwright.
WARNING
Protože se tento příkaz připojuje k existujícímu serveru Playwright, jakékoli možnosti launch
budou ignorovány.
context
Vitest vytváří nový kontext pro každý testovací soubor pomocí volání browser.newContext()
. Toto chování můžete konfigurovat uvedením vlastních argumentů.
TIP
Všimněte si, že kontext je vytvořen pro každý testovací soubor, nikoli pro každý test, jako je tomu v testovacím runneru Playwright.
WARNING
Vitest vždy nastaví ignoreHTTPSErrors
na true
, pokud je váš server obsluhován přes HTTPS, a serviceWorkers
na 'allow'
pro podporu mockování modulů přes MSW.
Doporučujeme také použít test.browser.viewport
namísto jeho specifikace zde, protože se ztratí, když testy běží v bezhlavém režimu.
actionTimeout
3.0.0+
- Výchozí: bez výchozího časového limitu, 1 sekunda před 3.0.0
Tato hodnota konfiguruje výchozí časový limit, po který Playwright čeká, dokud neprojdou všechny kontroly přístupnosti a akce není skutečně dokončena.
Časový limit akce můžete také konfigurovat individuálně pro každou akci:
import { page, userEvent } from '@vitest/browser/context';
await userEvent.click(page.getByRole('button'), {
timeout: 1_000,
});