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,
});