WebDriver
WebDriver es una interfaz estandarizada para interactuar con documentos web, pensada principalmente para pruebas automatizadas. La
forma recomendada de usarlo con Tauri es WebdriverIO y el @wdio/tauri-service, el cual funciona en Windows, Linux
y macOS. Mantenido bajo el proyecto WebdriverIO, proporciona acceso a la API de Tauri a través de browser.tauri.execute(),
simulación de comandos (IPC), captura de logs de frontend y backend, y multiremote.
Por defecto, el servicio ejecuta un servidor WebDriver embebido dentro de tu app, por lo que no se necesita un driver externo en ninguna
plataforma — y así es como se soporta macOS. También puede controlar el WebDriver nativo de la plataforma mediante tauri-driver
en Windows y Linux, o el fork multiplataforma de CrabNebula de tauri-driver en todas las plataformas (se requiere
una clave de API de pago para macOS). Cualquiera que sea la ruta que elijas, el servicio detecta el binario de tu aplicación, y en la ruta de tauri-driver
mantiene el Edge WebDriver sincronizado en Windows por ti.
La forma más rápida de estructurar un proyecto es el starter de WebdriverIO:
npm create wdio@latest ./Elige Desktop Testing y selecciona Tauri en el prompt del framework. Una configuración mínima se ve así:
export const config: WebdriverIO.Config = { services: [ [ 'tauri', { appBinaryPath: './src-tauri/target/release/my-tauri-app', driverProvider: 'embedded', }, ], ],};Configurar esto utiliza dos pequeños plugins de Tauri, ambos opcionales dependiendo de tus necesidades:
tauri-plugin-wdio-webdriverejecuta el servidor WebDriver embebido. Es requerido para el proveedorembedded(el por defecto) — el servicio controla tu app a través de él, sin driver externo, y así es como se soporta macOS. Puedes omitirlo si prefieres usar el proveedorexternalocrabnebulaen su lugar.tauri-plugin-wdiohabilita el acceso al backend, incluyendo:browser.tauri.execute(), simulación de comandos (IPC) y captura de logs.
Consulta Plugin Setup para ver los pasos completos, y la guía de configuración de CrabNebula si usas ese proveedor.
Para pruebas rápidas solo en el renderer, también hay un modo navegador que ejecuta tu frontend de Tauri en Chrome plano contra un
servidor de dev de Vite — sin necesidad de binario de Tauri, driver o plugin. Intercepta las llamadas a invoke() para que puedas simular comandos
y realizar aserciones sobre sus argumentos con la misma API de WDIO. Consulta la guía del modo navegador.
Aplicaciones de Ejemplo
Sección titulada “Aplicaciones de Ejemplo”Ejemplos completos y ejecutables que usan el servicio se encuentran en el repositorio desktop-mobile de WebdriverIO.
Integración Continua (CI)
Sección titulada “Integración Continua (CI)”La guía de WebDriver CI explica cómo ejecutar estas pruebas bajo GitHub Actions y los conceptos detrás de ello.
Controlar tauri-driver directamente
Sección titulada “Controlar tauri-driver directamente”Si no estás usando Node.js, prefieres Selenium, o estás integrando WebDriver en un harness de pruebas personalizado, puedes controlar
tauri-driver directamente en lugar de usar el servicio. Controlándolo directamente, solo Windows y Linux están soportados en
escritorio, ya que macOS no tiene disponible una herramienta de driver para WKWebView (usa el servidor WebDriver embebido del servicio para macOS).
© 2026 Colaboradores de Tauri. CC-BY / MIT