Vai al contenuto principale

WebdriverIO

Framework di test di automazione di nuova generazione per browser e dispositivi mobili per Node.js

Sponsorizzato da
🌎

Testa in Ambienti Reali

WebdriverIO ti permette di testare nei browser o dispositivi mobili reali utilizzati dai tuoi utenti.

🔩

Versatile e Ricco di Funzionalità

Usa WebdriverIO per test end-to-end completi o per test di unità e componenti nel browser.

💤

Attesa Automatica

WebdriverIO attende automaticamente che gli elementi appaiano prima di interagire con essi.

📒

Basato su Standard Web

Supporto multi-browser tramite automazione attraverso WebDriver e WebDriver Bidi.

📱

Supporto Nativo per Dispositivi Mobili

Esegui WebdriverIO su dispositivi mobili reali, smart TV o altri dispositivi IoT tramite Appium.

🫂

Comunità Impegnata

Gestione di un support channel con oltre 8 mila membri e un ricco ecosistema di plugin mantenuti dalla comunità.


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

Test E2E e Test di Unità/Componenti in browser reali!

WebdriverIO è un framework tutto in uno per lo sviluppo delle tue web app. Ti permette di eseguire test di componenti piccoli e leggeri così come scenari di test e2e nel browser o su un dispositivo mobile. Questo garantisce di fare i test in un ambiente utilizzato dai tuoi utenti.

È dotato di strategie di selezione intelligenti che semplificano l'interazione ad es. con React components o l'esecuzione di query di selezione profonde con alberi shadow DOM annidati. Poiché le interazioni avvengono attraverso un protocollo di automazione standardizzato, è garantito che si comportino in modo nativo e non siano solo emulate in JavaScript.

Configurazione facile per il test di componenti web con:

Vue.jsNuxtSveltePreactSolidJSLitStencil

Inizia con WebdriverIO in pochi secondi

Il test runner di WebdriverIO include un'interfaccia a riga di comando che fornisce un potente strumento di configurazione e ti aiuta a creare il tuo setup di test in meno di un minuto. Ti permette di scegliere tra le integrazioni di framework di test disponibili e di aggiungere facilmente tutti i plugin di reporter e servizi supportati!

Con un semplice comando puoi configurare una suite di test completa:


$ npm init wdio@latest ./

Inizia a imparare di più su WebdriverIO e come iniziare su YouTube.

Guarda i talk su WebdriverIO

La comunità intorno a WebdriverIO partecipa attivamente a vari gruppi di utenti o conferenze su temi specifici riguardanti i test automatizzati con WebdriverIO. Guarda questo talk su Le mie funzionalità preferite di WebdriverIO di Julia Pottinger al Open Quality Conference.

Ci sono anche molti canali YouTube con tutorial utili realizzati da membri della comunità come Klamping, Seventeenth Sep o Automation Bro.

Integrazione con Google Lighthouse

WebdriverIO non solo esegue l'automazione basata sul protocollo WebDriver, ma sfrutta anche le API native del browser per consentire integrazioni con strumenti di sviluppo popolari come Chrome DevTools o Google Lighthouse. Con il plugin @wdio/lighthouse-service hai accesso a comandi per validare se la tua app è un'applicazione PWA valida, nonché a comandi per catturare metriche di prestazioni frontend come `speedIndex` e altre.

Integrazione con strumenti di sviluppo come:

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)

Chi utilizza 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

Siamo un progetto open source con un forte impegno verso la trasparenza e la governance della comunità. Facciamo parte della OpenJS Foundation che è parte della Linux Foundation. Il progetto è gestito interamente da volontari ed è finanziato da aziende che vogliono vedere il progetto avere successo. Il team del progetto è grato per la generosa sponsorizzazione di queste aziende.

💎 Premium Sponsors

🥇 Gold Sponsors

Se usi WebdriverIO all'interno della tua organizzazione, considera di supportare il progetto becoming a sponsor. Ci aiuterà a mantenere il progetto attivo e in evoluzione.

Welcome! How can I help?

WebdriverIO AI Copilot