Configurazione di Playwright
Per impostazione predefinita, TypeScript non riconosce le opzioni del provider e le proprietà expect
aggiuntive. Assicurati di includere un riferimento a @vitest/browser/providers/playwright
affinché TypeScript possa rilevare le definizioni per le opzioni personalizzate:
/// <reference types="@vitest/browser/providers/playwright" />
In alternativa, puoi aggiungerlo al campo compilerOptions.types
nel tuo file tsconfig.json
. Si noti che specificare qualsiasi valore in questo campo disabiliterà il caricamento automatico dei pacchetti @types/*
.
{
"compilerOptions": {
"types": ["@vitest/browser/providers/playwright"]
}
}
Vitest apre una singola pagina per eseguire tutti i test contenuti nello stesso file. Puoi configurare le proprietà launch
, connect
e context
all'interno di instances
:
import { defineConfig } from 'vitest/config'
export default defineConfig({
test: {
browser: {
instances: [
{
browser: 'firefox',
launch: {},
connect: {},
context: {},
},
],
},
},
})
WARNING
Prima di Vitest 3, queste opzioni erano disponibili nella proprietà test.browser.providerOptions
:
export default defineConfig({
test: {
browser: {
providerOptions: {
launch: {},
context: {},
},
},
},
});
providerOptions
è deprecato in favore di instances
.
launch
Queste opzioni vengono passate direttamente al comando playwright[browser].launch
. Per maggiori informazioni sul comando e sugli argomenti disponibili, consulta la documentazione di Playwright.
WARNING
Vitest ignorerà l'opzione launch.headless
. Utilizza invece test.browser.headless
.
Si noti che Vitest aggiungerà opzioni di debug a launch.args
se --inspect
è abilitato.
connect 3.2.0+
Queste opzioni vengono passate direttamente al comando playwright[browser].connect
. Per maggiori informazioni sul comando e sugli argomenti disponibili, consulta la documentazione di Playwright.
WARNING
Dato che questo comando si connette a un server Playwright già in esecuzione, qualsiasi opzione launch
verrà ignorata.
context
Vitest crea un nuovo contesto per ogni file di test tramite la chiamata a browser.newContext()
. È possibile configurare questo comportamento definendo argomenti personalizzati.
TIP
Si noti che il contesto viene creato per ogni file di test, non per ogni test come nel test runner di Playwright.
WARNING
Vitest imposta sempre ignoreHTTPSErrors
su true
nel caso in cui il server sia servito tramite HTTPS e serviceWorkers
su 'allow'
per supportare il mocking dei moduli tramite MSW.
È inoltre consigliato utilizzare test.browser.viewport
invece di specificarlo qui, poiché tale impostazione verrebbe persa quando i test vengono eseguiti in modalità headless.
actionTimeout
3.0.0+
- Predefinito: nessun timeout, 1 secondo prima della 3.0.0
Questo valore configura il timeout predefinito che Playwright impiega per attendere che tutti i controlli di accessibilità siano superati e l'azione sia effettivamente completata.
È inoltre possibile configurare il timeout per ogni singola azione:
import { page, userEvent } from '@vitest/browser/context';
await userEvent.click(page.getByRole('button'), {
timeout: 1_000,
});