Configuración de WebdriverIO
Playwright vs WebdriverIO
Si aún no utilizas WebdriverIO en tu proyecto, te recomendamos empezar con Playwright, ya que es más fácil de configurar y ofrece una API más flexible.
Por defecto, TypeScript no reconoce las opciones del proveedor ni las propiedades expect
adicionales. Asegúrate de referenciar @vitest/browser/providers/webdriverio
para que TypeScript pueda reconocer las definiciones de las opciones personalizadas:
/// <reference types="@vitest/browser/providers/webdriverio" />
Alternativamente, también puedes agregarlo al campo compilerOptions.types
en tu archivo tsconfig.json
. Ten en cuenta que especificar cualquier valor en este campo deshabilitará la carga automática de los paquetes @types/*
.
{
"compilerOptions": {
"types": ["@vitest/browser/providers/webdriverio"]
}
}
Vitest abre una única página para ejecutar todas las pruebas del mismo archivo. Puedes configurar cualquier propiedad especificada en RemoteOptions
dentro de instances
:
import { defineConfig } from 'vitest/config'
export default defineConfig({
test: {
browser: {
instances: [
{
browser: 'chrome',
capabilities: {
browserVersion: 86,
platformName: 'Windows 10',
},
},
],
},
},
})
WARNING
Antes de Vitest 3, estas opciones se ubicaban en la propiedad test.browser.providerOptions
:
export default defineConfig({
test: {
browser: {
providerOptions: {
capabilities: {},
},
},
},
});
providerOptions
está obsoleto; se recomienda usar instances
en su lugar.
Puedes encontrar la mayoría de las opciones disponibles en la documentación de WebdriverIO. Ten en cuenta que Vitest ignorará todas las opciones del test runner porque solo utilizamos las capacidades de navegador de webdriverio
.
TIP
Las opciones más útiles se encuentran en el objeto capabilities
. WebdriverIO permite capacidades anidadas, pero Vitest ignorará esas opciones porque dependemos de un mecanismo diferente para instanciar múltiples navegadores.
Ten en cuenta que Vitest ignorará capabilities.browserName
. Usa test.browser.instances.name
en su lugar.