Ir para o conteúdo principal

WebdriverIO

Framework de testes automatizados de nova geração para navegadores e dispositivos móveis com Node.js

Sponsored byBrowserStack
🌎

Teste em Ambientes Reais

O WebdriverIO permite testar em navegadores reais ou dispositivos móveis usados pelos seus usuários.

🔩

Versátil e Rico em Funcionalidades

Use o WebdriverIO para testes completos de ponta a ponta ou testes de unidade e componentes no navegador.

💤

Espera Automática

O WebdriverIO aguarda automaticamente os elementos aparecerem antes de interagir com eles.

📒

Baseado em Padrões da Web

Suporte entre navegadores via automação por meio do WebDriver e do WebDriver Bidi.

📱

Suporte Nativo a Mobile

Execute o WebdriverIO em dispositivos móveis reais, smart TVs ou outros dispositivos IoT via Appium.

🫂

Comunidade Engajada

Gerenciando um support channel com mais de 8 mil membros e um ecossistema rico de plugins mantidos pela comunidade.


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"
)
})
})

Testes E2E e de Unidade / Componentes em navegador real!

O WebdriverIO é um framework tudo em um para o desenvolvimento do seu aplicativo web. Ele permite que você execute testes de componentes pequenos e leves, assim como cenários de teste ponta a ponta no navegador ou em um dispositivo móvel. Isso garante que você faça os testes em um ambiente usado pelos seus usuários.

Ele vem com estratégias inteligentes de seletores que simplificam a interação, por exemplo, com React components ou consultas profundas com árvores Shadow DOM aninhadas. Como as interações acontecem por meio de um protocolo de automação padronizado, é garantido que elas se comportem de forma nativa e não apenas como simulações em JavaScript.

Configuração fácil para testes de componentes web com:

Vue.jsNuxtSveltePreactSolidJSLitStencil

Comece com WebdriverIO em 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!

Com apenas um comando simples, você pode configurar uma suíte de testes completa:


$ npm init wdio@latest ./

Comece a aprender mais sobre o WebdriverIO e como começar no YouTube.

Criar demonstração do WebdriverIO

Assista palestras sobre o WebdriverIO

A comunidade em torno do WebdriverIO está ativamente palestrando em diversos grupos de usuários ou conferências sobre tópicos específicos de testes automatizados com o WebdriverIO. Confira essa palestra no Minhas funcionalidades favoritas do WebdriverIO por Julia Pottinger na Open Quality Conference.

Também há muitos canais no YouTube com tutoriais úteis feitos por membros da comunidade, como Klamping, Seventeenth Sep ou Automation Bro.

Integração com o Google Lighthouse

O WebdriverIO não apenas executa automação com base no protocolo WebDriver, mas também utiliza APIs nativas do navegador para permitir integrações com ferramentas populares de desenvolvedor, como Chrome DevTools ou Google Lighthouse. Com o plugin @wdio/lighthouse-service, você tem acesso a comandos para validar se seu app é uma aplicação PWA válida, além de comandos para capturar métricas de desempenho frontend como `speedIndex` e outras.

Integração com ferramentas de desenvolvedor como:

Chrome DevToolsGoogle LighthouseAxe Accessibility Engine

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)

Quem está usando o WebdriverIO?

  • Google
  • Netflix
  • Microsoft
  • Mozilla
  • Buoyant
  • SAP
  • Salesforce
  • Hilton
  • Charles Schwab
  • JW Player
  • BBVA
  • GoPro
  • Algolia
  • Financial Times
  • Zendesk
  • 1&1
  • Avira
  • Deloitte
  • Rabobank
  • Bedrock Streaming

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

BrowserStack

🥇 Gold Sponsors

Route4MeLambdatest

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.

Welcome! How can I help?

WebdriverIO AI Copilot