Configuration de WebdriverIO
Playwright vs WebdriverIO
Si vous n'utilisez pas encore WebdriverIO dans votre projet, nous vous recommandons de commencer par Playwright. Sa configuration est plus simple et son API est plus flexible.
Par défaut, TypeScript ne reconnaît pas les options des providers ni les propriétés expect
supplémentaires. Pour que TypeScript puisse charger les définitions des options personnalisées, veillez à référencer @vitest/browser/providers/webdriverio
:
/// <reference types="@vitest/browser/providers/webdriverio" />
Alternativement, vous pouvez l'ajouter au champ compilerOptions.types
dans votre fichier tsconfig.json
. Notez que toute spécification dans ce champ désactivera l'importation automatique des paquets @types/*
.
{
"compilerOptions": {
"types": ["@vitest/browser/providers/webdriverio"]
}
}
Vitest ouvre une seule page pour exécuter tous les tests d'un même fichier. Vous pouvez configurer n'importe quelle propriété spécifiée dans RemoteOptions
au sein de instances
:
import { defineConfig } from 'vitest/config'
export default defineConfig({
test: {
browser: {
instances: [
{
browser: 'chrome',
capabilities: {
browserVersion: 86,
platformName: 'Windows 10',
},
},
],
},
},
})
WARNING
Avant Vitest 3, ces options étaient situées sous la propriété test.browser.providerOptions
:
export default defineConfig({
test: {
browser: {
providerOptions: {
capabilities: {},
},
},
},
});
providerOptions
est obsolète et remplacé par instances
.
Vous trouverez la plupart des options disponibles dans la documentation de WebdriverIO. Il est important de noter que Vitest ignorera toutes les options du test runner, car nous utilisons uniquement les fonctionnalités de navigation de webdriverio
.
TIP
Les options les plus utiles se trouvent dans l'objet capabilities
. WebdriverIO autorise les fonctionnalités imbriquées, mais Vitest ignorera ces options car nous nous appuyons sur un mécanisme différent pour démarrer plusieurs navigateurs.
Notez que Vitest ignorera capabilities.browserName
. Utilisez plutôt test.browser.instances.name
.