Configurazione di WebdriverIO
Playwright vs WebdriverIO
Se non stai già utilizzando WebdriverIO nel tuo progetto, ti consigliamo di iniziare con Playwright, in quanto è più semplice da configurare e offre un'API più flessibile.
Per impostazione predefinita, TypeScript non riconosce le opzioni dei provider e le proprietà expect
aggiuntive. Assicurati di includere un riferimento a @vitest/browser/providers/webdriverio
affinché TypeScript possa riconoscere le definizioni per le opzioni personalizzate:
/// <reference types="@vitest/browser/providers/webdriverio" />
In alternativa, puoi aggiungerlo al campo compilerOptions.types
nel tuo file tsconfig.json
. Tieni presente che specificare qualsiasi valore in questo campo disabiliterà il caricamento automatico dei pacchetti @types/*
.
{
"compilerOptions": {
"types": ["@vitest/browser/providers/webdriverio"]
}
}
Vitest utilizza una singola pagina per eseguire tutti i test nello stesso file. Puoi configurare in instances
qualsiasi proprietà specificata in RemoteOptions
:
import { defineConfig } from 'vitest/config'
export default defineConfig({
test: {
browser: {
instances: [
{
browser: 'chrome',
capabilities: {
browserVersion: 86,
platformName: 'Windows 10',
},
},
],
},
},
})
WARNING
Prima di Vitest 3, queste opzioni erano presenti nella proprietà test.browser.providerOptions
:
export default defineConfig({
test: {
browser: {
providerOptions: {
capabilities: {},
},
},
},
});
providerOptions
è deprecato in favore di instances
.
La maggior parte delle opzioni disponibili è reperibile nella documentazione di WebdriverIO. Tieni presente che Vitest ignorerà tutte le opzioni del test runner, poiché si avvale unicamente delle capacità del browser fornite da webdriverio
.
TIP
Le opzioni più utili sono contenute nell'oggetto capabilities
. WebdriverIO consente capacità annidate, ma Vitest ignorerà tali opzioni perché ci affidiamo a un meccanismo diverso per avviare i browser.
Tieni presente che Vitest ignorerà capabilities.browserName
. Utilizza invece test.browser.instances.name
.