Configuration de Playwright
Par défaut, TypeScript ne reconnaît pas les options spécifiques aux fournisseurs de navigateurs ni les propriétés expect
supplémentaires. Pour que TypeScript puisse obtenir ces définitions d'options personnalisées, assurez-vous d'inclure @vitest/browser/providers/playwright
:
/// <reference types="@vitest/browser/providers/playwright" />
Alternativement, vous pouvez l'ajouter au champ compilerOptions.types
dans votre fichier tsconfig.json
. Notez que l'ajout de toute valeur dans ce champ désactivera le chargement automatique des paquets @types/*
.
{
"compilerOptions": {
"types": ["@vitest/browser/providers/playwright"]
}
}
Vitest ouvre une page unique pour exécuter tous les tests d'un même fichier. Vous pouvez configurer les propriétés launch
, connect
et context
au sein de la propriété instances
:
import { defineConfig } from 'vitest/config'
export default defineConfig({
test: {
browser: {
instances: [
{
browser: 'firefox',
launch: {},
connect: {},
context: {},
},
],
},
},
})
WARNING
Avant Vitest 3, ces options étaient définies sous la propriété test.browser.providerOptions
:
export default defineConfig({
test: {
browser: {
providerOptions: {
launch: {},
context: {},
},
},
},
});
providerOptions
est désormais déprécié au profit de instances
.
launch
Ces options sont directement transmises à la commande playwright[browser].launch
. Pour plus de détails sur la commande et les arguments disponibles, consultez la documentation de Playwright.
WARNING
Vitest ignorera l'option launch.headless
. Utilisez plutôt l'option test.browser.headless
.
Notez que Vitest ajoutera des arguments de débogage à launch.args
si --inspect
est activé.
connect 3.2.0+
Ces options sont directement transmises à la commande playwright[browser].connect
. Pour plus de détails sur la commande et les arguments disponibles, consultez la documentation de Playwright.
WARNING
Étant donné que cette commande se connecte à un serveur Playwright existant, toutes les options launch
seront ignorées.
context
Vitest crée un nouveau contexte pour chaque fichier de test via l'appel à browser.newContext()
. Vous pouvez configurer ce comportement en spécifiant des arguments personnalisés.
TIP
Notez que le contexte est créé pour chaque fichier de test, et non pour chaque test individuel comme c'est le cas dans le lanceur de tests Playwright.
WARNING
Vitest définit toujours ignoreHTTPSErrors
à true
si votre serveur est servi via HTTPS et serviceWorkers
à 'allow'
pour permettre le mocking de modules via MSW.
Il est également recommandé d'utiliser test.browser.viewport
plutôt que de le spécifier ici, car cette configuration pourrait être perdue lorsque les tests s'exécutent en mode headless.
actionTimeout
3.0.0+
- Par défaut : pas de délai d'attente (1 seconde avant la version 3.0.0)
Cette valeur configure le délai d'attente par défaut que Playwright utilise pour s'assurer que toutes les vérifications d'accessibilité sont passées et que l'action est réellement terminée.
Vous pouvez également configurer le délai d'attente pour chaque action spécifique :
import { page, userEvent } from '@vitest/browser/context';
await userEvent.click(page.getByRole('button'), {
timeout: 1_000,
});