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.