Vai al contenuto principale

WebdriverIO

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

Sponsorizzato da
🌎

Test in Ambienti Reali

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

🔩

Versatile e Ricco di Funzionalità

Utilizza WebdriverIO per test end-to-end completi o 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 canale di supporto con oltre 8.000 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 Unit / Component in browser reali!

WebdriverIO è un framework tutto in uno per lo sviluppo delle tue applicazioni web. Ti consente di eseguire test di componenti piccoli e leggeri e di eseguire scenari di test e2e nel browser o su dispositivi mobili. Questo garantisce di poter eseguire i test in un ambiente utilizzato dai tuoi utenti.

Include strategie di selezione intelligenti che semplificano l'interazione, ad esempio 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 dei componenti web con:

Vue.jsNuxtSveltePreactSolidJSLitStencil

Inizia con WebdriverIO in pochi secondi

Il testrunner di WebdriverIO viene fornito con un'interfaccia a riga di comando che offre un potente strumento di configurazione e ti aiuta a creare la tua configurazione di test in meno di un minuto. Ti consente di scegliere tra le integrazioni di framework di test disponibili e permette facilmente di aggiungere 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 saperne di più su WebdriverIO e come iniziare su YouTube.

Guarda i talk su WebdriverIO

La comunità intorno a WebdriverIO parla attivamente in vari gruppi di utenti o conferenze su argomenti specifici relativi ai test automatizzati con WebdriverIO. Dai un'occhiata a questo talk su Le mie funzionalità preferite di WebdriverIO di Julia Pottinger alla 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 verificare se la tua app è un'applicazione PWA valida, oltre a comandi per acquisire metriche di prestazioni frontend come `speedIndex` e altre.

Integrazione con strumenti per sviluppatori 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 sta utilizzando 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 e Governato Apertamente

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 è interamente gestito da volontari e finanziato da aziende investite che vogliono vedere il successo del progetto. Il team del progetto è grato per la generosa sponsorizzazione di queste aziende.

💎 Sponsor Premium

🥇 Sponsor Gold

Se utilizzi WebdriverIO all'interno della tua organizzazione, considera di supportare il progetto diventando uno sponsor. Ci aiuterà a mantenere il progetto in funzione e in evoluzione.

Vorremmo estendere i nostri più sentiti ringraziamenti a tutti i contributori che hanno aiutato a rendere WebdriverIO lo strumento potente che è oggi. La vostra dedizione e il vostro impegno sono davvero apprezzati!

Welcome! How can I help?

WebdriverIO AI Copilot