Framework de prueba de automatización de navegadores y móviles de próxima generación para Node.js
Prueba en Entornos Reales
WebdriverIO te permite probar en navegadores o dispositivos móviles reales utilizados por tus usuarios.
Versátil y Rico en Características
Usa WebdriverIO para pruebas e2e completas o pruebas unitarias y de componentes en el navegador.
Espera Automática
WebdriverIO espera automáticamente a que los elementos aparezcan antes de interactuar con ellos.
Basado en Estándares Web
Soporte para múltiples navegadores a través de automatización mediante WebDriver y WebDriver Bidi.
Soporte Nativo para Móviles
Ejecuta WebdriverIO en dispositivos móviles reales, smart TVs u otros dispositivos IoT a través de Appium.
Comunidad Comprometida
Manteniendo un canal de soporte con más de 8 mil miembros y un rico ecosistema de plugins mantenidos por la comunidad.
import { $, expect } from '@wdio/globals'
import { render } from '@testing-library/vue'
import HelloWorld from '../../src/components/HelloWorld.vue'
describe('Component Testing', () => {
it('increments value on click', async () => {
const { getByText } = render(HelloWorld)
const btn = getByText('count is 0')
// transform into WebdriverIO element
const button = await $(btn)
// interact with element like a real user
await button.click()
await button.click()
await expect(button).toMatchInlineSnapshot(
"count is 2"
)
})
})
¡Pruebas E2E y Unitarias / de Componentes en navegadores reales!
WebdriverIO es un framework todo en uno para el desarrollo de aplicaciones web. Te permite ejecutar pruebas de componentes pequeñas y ligeras, así como escenarios de pruebas e2e en el navegador o en un dispositivo móvil. Esto garantiza que realices las pruebas en un entorno utilizado por tus usuarios.
Viene con estrategias de selección inteligentes que simplifican interactuar, por ejemplo, con React components o ejecutar consultas de selección profundas con árboles de DOM shadow anidados. Como las interacciones ocurren a través de un protocolo de automatización estandarizado, está garantizado que se comporten de forma nativa y no sean solo emuladas por JavaScript.
Comienza con WebdriverIO en Segundos
El test runner de WebdriverIO viene con una interfaz de línea de comandos que proporciona una potente utilidad de configuración y te ayuda a crear tu configuración de pruebas en menos de un minuto. ¡Te permite elegir entre las integraciones de framework de pruebas disponibles y fácilmente te permite añadir todos los plugins de reportes y servicios compatibles!
Con solo un simple comando puedes configurar un conjunto de pruebas completo:
$ npm init wdio@latest ./
Empieza a aprender más sobre WebdriverIO y cómo comenzar en YouTube.
Ver Charlas sobre WebdriverIO
La comunidad alrededor de WebdriverIO habla activamente en varios grupos de usuarios o conferencias sobre temas específicos relacionados con pruebas automatizadas con WebdriverIO. Mira esta charla en Mis características favoritas de WebdriverIO de Julia Pottinger en Open Quality Conference.
También hay muchos canales de YouTube con tutoriales útiles de miembros de la comunidad como Klamping, Seventeenth Sep o Automation Bro.
Integración con Google Lighthouse
WebdriverIO no solo ejecuta automatización basada en el protocolo WebDriver, también aprovecha las APIs nativas del navegador para permitir integraciones con herramientas populares para desarrolladores como Chrome DevTools o Google Lighthouse. Con el plugin @wdio/lighthouse-service
tienes acceso a comandos para validar si tu aplicación es una aplicación PWA válida, así como a comandos para capturar métricas de rendimiento frontend como `speedIndex` y otras.
await browser.emulate('device', 'iPhone X')
await browser.enablePerformanceAudits({
networkThrottling: 'Good 3G',
cacheEnabled: true,
formFactor: 'mobile'
})
// open application under test
await browser.url('https://localhost:3000')
expect(await browser.getMetrics().firstMeaningfulPaint)
.toBeBelow(2500)
const pwaCheckResult = await browser.checkPWA()
expect(pwaCheckResult.passed).toBe(true)
Código Abierto y Gobernado Abiertamente
Somos un proyecto de código abierto con un fuerte compromiso con la transparencia y la gobernanza comunitaria. Formamos parte de la OpenJS Foundation que es parte de la Linux Foundation. El proyecto está completamente dirigido por voluntarios y financiado por empresas comprometidas que quieren ver el proyecto tener éxito. El equipo del proyecto está agradecido por el generoso patrocinio de estas empresas.
💎 Patrocinadores Premium
🥇 Patrocinadores Oro
Si utilizas WebdriverIO dentro de tu organización, por favor considera apoyar el proyecto convertirte en patrocinador. Esto nos ayudará a mantener el proyecto en funcionamiento y evolucionando.
Nos gustaría expresar nuestro más sincero agradecimiento a todos los colaboradores que han ayudado a hacer de WebdriverIO la poderosa herramienta que es hoy. ¡Tu dedicación y esfuerzo son realmente apreciados!