Framework de teste de automação de navegador e dispositivos móveis de próxima geração para Node.js
Teste em Ambientes Reais
O WebdriverIO permite que você teste em navegadores reais ou dispositivos móveis utilizados pelos seus usuários.
Versátil e Rico em Recursos
Use o WebdriverIO para testes e2e completos ou testes unitários e de componentes no navegador.
Espera Automática
O WebdriverIO aguarda automaticamente que os elementos apareçam antes de interagir com eles.
Baseado em Padrões Web
Suporte a vários navegadores via automação através de WebDriver e WebDriver Bidi.
Suporte Nativo para Dispositivos Móveis
Execute o WebdriverIO em dispositivos móveis reais, smart TVs ou outros dispositivos IoT através do Appium.
Comunidade Comprometida
Administrando um canal de suporte com mais de 8 mil membros e um rico ecossistema 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 Unitários/de Componentes em navegadores reais!
WebdriverIO é um framework tudo em um para o desenvolvimento de sua aplicação web. Ele permite que você execute testes de componentes pequenos e leves, bem como cenários de teste e2e 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 seleção que simplificam a interação, por exemplo, com React components ou a execução de consultas de seletor profundas com árvores aninhadas de shadow DOM. Como as interações acontecem através de um protocolo de automação padronizado, é garantido que elas se comportem nativamente e não sejam apenas emuladas por JavaScript.
Comece com WebdriverIO em Segundos
O testrunner do WebdriverIO vem com uma interface de linha de comando que fornece um utilitário de configuração poderoso e ajuda você a criar sua configuração de teste em menos de um minuto. Ele permite escolher entre integrações de frameworks de teste disponíveis e facilmente adicionar todos os plugins de repórteres e serviços suportados!
Com apenas um simples comando 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.
Assista Palestras sobre WebdriverIO
A comunidade em torno do WebdriverIO está ativamente falando em vários grupos de usuários ou conferências sobre tópicos específicos relacionados a testes automatizados com WebdriverIO. Confira esta palestra no Minhas funcionalidades favoritas do WebdriverIO de Julia Pottinger na Open Quality Conference.
Existem também muitos canais do YouTube com tutoriais úteis de membros da comunidade, como Klamping, Seventeenth Sep ou Automation Bro.
Integração com Google Lighthouse
O WebdriverIO não apenas executa automação baseada no protocolo WebDriver, mas também aproveita as APIs nativas do navegador para permitir integrações com ferramentas de desenvolvedor populares como Chrome DevTools ou Google Lighthouse. Com o plugin @wdio/lighthouse-service
, você tem acesso a comandos para validar se seu aplicativo é um aplicativo PWA válido, bem como comandos para capturar métricas de desempenho frontend, como `speedIndex` e outras.
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 Aberto e Governança Aberta
Somos um projeto de código aberto com um forte compromisso com a transparência e governança comunitária. Fazemos parte da OpenJS Foundation que é parte da Linux Foundation. O projeto é inteiramente gerido por voluntários e financiado por empresas investidoras que desejam ver o projeto ter sucesso. A equipe do projeto é grata pelo generoso patrocínio dessas empresas.
💎 Patrocinadores Premium
🥇 Patrocinadores Ouro
Se você usa o WebdriverIO em sua organização, considere apoiar o projeto tornando-se um patrocinador. Isso nos ajudará a manter o projeto funcionando e evoluindo.
Gostaríamos de expressar nosso sincero agradecimento a todos os colaboradores que ajudaram a tornar o WebdriverIO a ferramenta poderosa que é hoje. Sua dedicação e esforço são verdadeiramente apreciados!