Saltar al contenido principal

Binarios de Controladores

Para ejecutar la automatización basada en el protocolo WebDriver, necesitas configurar controladores de navegador que traduzcan los comandos de automatización y puedan ejecutarlos en el navegador.

Configuración automatizada

Con WebdriverIO v8.14 y versiones posteriores, ya no es necesario descargar y configurar manualmente los controladores de navegador, ya que WebdriverIO se encarga de esto. Todo lo que tienes que hacer es especificar el navegador que deseas probar y WebdriverIO hará el resto.

Personalización del nivel de automatización

WebdriverIO tiene tres niveles de automatización:

1. Descargar e instalar el navegador usando @puppeteer/browsers.

Si especificas una combinación de browserName/browserVersion en la configuración de capabilities, WebdriverIO descargará e instalará la combinación solicitada, independientemente de si ya existe una instalación en la máquina. Si omites browserVersion, WebdriverIO primero intentará localizar y usar una instalación existente con locate-app, de lo contrario descargará e instalará la versión estable actual del navegador. Para más detalles sobre browserVersion, consulta aquí.

precaución

La configuración automatizada de navegadores no es compatible con Microsoft Edge. Actualmente, solo Chrome, Chromium y Firefox son compatibles.

Si tienes una instalación de navegador en una ubicación que no puede ser detectada automáticamente por WebdriverIO, puedes especificar el binario del navegador, lo que desactivará la descarga e instalación automatizada.

{
capabilities: [
{
browserName: 'chrome', // o 'firefox' o 'chromium'
'goog:chromeOptions': { // o 'moz:firefoxOptions' o 'wdio:chromedriverOptions'
binary: '/path/to/chrome'
},
}
]
}

2. Descargar e instalar el controlador usando Chromedriver, Edgedriver o Geckodriver.

WebdriverIO siempre hará esto, a menos que se especifique el binary del controlador en la configuración:

{
capabilities: [
{
browserName: 'chrome', // o 'firefox', 'msedge', 'safari', 'chromium'
'wdio:chromedriverOptions': { // o 'wdio:geckodriverOptions', 'wdio:edgedriverOptions'
binary: '/path/to/chromedriver' // o 'geckodriver', 'msedgedriver'
}
}
]
}
información

WebdriverIO no descargará automáticamente el controlador de Safari, ya que viene preinstalado en macOS.

precaución

Evita especificar un binary para el navegador y omitir el binary del controlador correspondiente o viceversa. Si solo se especifica uno de los valores binary, WebdriverIO intentará usar o descargar un navegador/controlador compatible con él. Sin embargo, en algunos escenarios puede resultar en una combinación incompatible. Por lo tanto, se recomienda especificar siempre ambos para evitar problemas causados por incompatibilidades de versiones.

3. Iniciar/detener el controlador.

Por defecto, WebdriverIO iniciará y detendrá automáticamente el controlador utilizando un puerto no utilizado arbitrario. Especificar cualquiera de las siguientes configuraciones desactivará esta función, lo que significa que tendrás que iniciar y detener manualmente el controlador:

Configuración manual

A continuación se describe cómo puedes configurar cada controlador individualmente. Puedes encontrar una lista con todos los controladores en el README de awesome-selenium.

consejo

Si estás buscando configurar plataformas móviles y otras interfaces de usuario, consulta nuestra guía de Configuración de Appium.

Chromedriver

Para automatizar Chrome, puedes descargar Chromedriver directamente en el sitio web del proyecto o a través del paquete NPM:

npm install -g chromedriver

Luego puedes iniciarlo mediante:

chromedriver --port=4444 --verbose

Geckodriver

Para automatizar Firefox, descarga la última versión de geckodriver para tu entorno y descomprímela en el directorio de tu proyecto:

npm install geckodriver

Nota: Otras versiones de geckodriver están disponibles aquí. Después de la descarga, puedes iniciar el controlador mediante:

/path/to/binary/geckodriver --port 4444

Edgedriver

Puedes descargar el controlador para Microsoft Edge en el sitio web del proyecto o como paquete NPM mediante:

npm install -g edgedriver
edgedriver --version # prints: Microsoft Edge WebDriver 115.0.1901.203 (a5a2b1779bcfe71f081bc9104cca968d420a89ac)

Safaridriver

Safaridriver viene preinstalado en tu MacOS y puede iniciarse directamente mediante:

safaridriver -p 4444

Welcome! How can I help?

WebdriverIO AI Copilot