Marco de prueba de automatización móvil y navegador de próxima generación para Node.js
Prueba en entornos reales
WebdriverIO le permite realizar pruebas en navegadores reales o dispositivos móviles utilizados por sus usuarios.
Versátil y rico en características
Use WebdriverIO para pruebas completas de e2e o de unidades y componentes en el navegador.
Espera automática
WebdriverIO espera automáticamente a que aparezcan los elementos antes de interactuar con ellos.
Basado en estándares web
Soporte cruzado del navegador mediante automatización a través de WebDriver y WebDriver Bidi.
Soporte móvil nativo
Ejecute WebdriverIO en dispositivos móviles reales, televisores inteligentes u otros dispositivos IoT a través de Appium.
Comunidad comprometida
Ejecutando un support channel con más de 8k miembros y un rico ecosistema de complementos 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"
)
})
})
¡E2E y pruebas de unidades/componentes en un navegador real!
WebdriverIO es un marco all in one para el desarrollo de su aplicación web. Le permite ejecutar pruebas de componentes pequeños y livianos, así como ejecutar escenarios de prueba e2e en el navegador o en un dispositivo móvil. Esto garantiza que harás las pruebas en un entorno used by your users.
Viene con estrategias de selector inteligente que simplifican la interacción, por ejemplo, con React components o la ejecución de consultas de selector profundo con árboles DOM de sombra anidados. Como las interacciones ocurren a través de un protocolo de automatización estandarizado, se garantiza que se comportan de forma nativa y no solo se emulan con JavaScript.
Comience con WebdriverIO en segundos
The WebdriverIO testrunner comes with a command line interface that provides a powerful configuration utility and helps you to create your test setup in less than a minute. It lets you pick from available test framework integrations and easily allows to add all supported reporter and service plugins!
Con un simple comando puede configurar una suite de pruebas completa:
$ npm init wdio@latest ./
Comience a aprender más sobre WebdriverIO y cómo comenzar En Youtube.
Ver charlas sobre WebdriverIO
La comunidad alrededor de WebdriverIO está hablando activamente en varios grupos de usuarios o conferencias sobre temas específicos relacionados con las pruebas automatizadas con WebdriverIO. Echa un vistazo a esta charla en Mis características favoritas de WebdriverIO por Julia Pottinger a las 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 de Google Lighthouse
WebdriverIO no solo ejecuta la automatización basada en el protocolo WebDriver, sino que también aprovecha las API nativas del navegador para permitir integraciones con herramientas de desarrollo populares como Chrome DevTools o Google Lighthouse. Con el complemento @wdio/lighthouse-service
, tiene acceso a los comandos para validar si su aplicación es una aplicación PWA válida, así como a los comandos para capturar métricas de rendimiento de frontend como `speedIndex` y otros.
await browser.emulateDevice('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)
Open Source and Open Governed
We are an open source project with a strong commitment to transparency and community governance. We are part of the OpenJS Foundation, which is a part of the Linux Foundation. The project is entirely run by volunteers and funded by invested companies that want to see the project succeed. The project team is grateful for the generous sponsorship of these companies.
💎 Premium Sponsors
🥇 Gold Sponsors
If you use WebdriverIO within your organization, please consider supporting the project by becoming a sponsor. It will help us to keep the project running and evolving.