Hoppa till huvudinnehåll

WebdriverIO

Nästa generations ramverk för webbläsare- och mobilautomatisering för Node.js

Sponsrat av
🌎

Testa i verkliga miljöer

WebdriverIO låter dig testa i faktiska webbläsare eller mobila enheter som används av dina användare.

🔩

Mångsidigt och funktionsrikt

Använd WebdriverIO för fullständig e2e eller enhets- och komponenttestning i webbläsaren.

💤

Automatisk väntan

WebdriverIO väntar automatiskt på att element ska visas innan interaktion med dem sker.

📒

Baserat på webbstandarder

Stöd för flera webbläsare via automatisering genom WebDriver och WebDriver Bidi.

📱

Inbyggt mobilstöd

Kör WebdriverIO på riktiga mobila enheter, smarta TV-apparater eller andra IoT-enheter genom Appium.

🫂

Engagerad gemenskap

Driver en supportkanal med över 8 000 medlemmar och ett rikt ekosystem av gemenskapsutvecklade plugins.


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 och enhets-/komponenttestning i riktiga webbläsare!

WebdriverIO är ett allt-i-ett-ramverk för din webbutveckling. Det låter dig köra små och lättviktiga komponenttester samt köra e2e-testscenarier i webbläsaren eller på en mobil enhet. Detta garanterar att du testar i en miljö som används av dina användare.

Det kommer med smarta selectorstrategier som förenklar interaktion med till exempel React components eller att köra djupa selectorförfrågningar med nästlade shadow DOM-träd. Eftersom interaktioner sker genom ett standardiserat automatiseringsprotokoll är det garanterat att de beter sig som nativa och inte bara är JavaScript-emulerade.

Enkel installation för webbkomponenttestning med:

Vue.jsNuxtSveltePreactSolidJSLitStencil

Kom igång med WebdriverIO på några sekunder

WebdriverIO-testrunner kommer med ett kommandoradsgränssnitt som tillhandahåller ett kraftfullt konfigurationsverktyg och hjälper dig att skapa din testuppsättning på mindre än en minut. Det låter dig välja bland tillgängliga testramverksintegrationer och gör det enkelt att lägga till alla plugin för rapportering och tjänster som stöds!

Med bara ett enkelt kommando kan du sätta upp en komplett testsvit:


$ npm init wdio@latest ./

Börja lära dig mer om WebdriverIO och hur du kommer igång på YouTube.

Titta på föredrag om WebdriverIO

Gemenskapen kring WebdriverIO talar aktivt på olika användargrupper eller konferenser om specifika ämnen relaterade till automatiserad testning med WebdriverIO. Kolla in detta föredrag på Mina favoritfunktioner i WebdriverIO av Julia PottingerOpen Quality Conference.

Det finns också många YouTube-kanaler med användbara handledningar av gemenskapsmedlemmar som Klamping, Seventeenth Sep eller Automation Bro.

Google Lighthouse-integration

WebdriverIO kör inte bara automatisering baserad på WebDriver-protokollet, det utnyttjar också inbyggda webbläsar-API:er för att möjliggöra integrationer till populära utvecklarverktyg som Chrome DevTools eller Google Lighthouse. Med plugin-modulen @wdio/lighthouse-service har du tillgång till kommandon för att validera om din app är en giltig PWA-applikation samt kommandon för att fånga frontend-prestandamått som `speedIndex` och andra.

Integration till utvecklarverktyg såsom:

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)

Vilka använder 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 och gemenskapsstyrt

Vi är ett open source-projekt med ett starkt engagemang för transparens och gemenskapsstyrning. Vi är en del av OpenJS Foundation som är en del av Linux Foundation. Projektet drivs helt av volontärer och finansieras av engagerade företag som vill se projektet lyckas. Projektteamet är tacksamt för dessa företags generösa sponsring.

💎 Premium-sponsorer

🥇 Guldsponsorer

Om du använder WebdriverIO inom din organisation, överväg gärna att stödja projektet genom att bli en sponsor. Det hjälper oss att hålla projektet igång och utvecklas.

Vi vill rikta ett varmt tack till alla bidragsgivare som har hjälpt till att göra WebdriverIO till det kraftfulla verktyg det är idag. Ert engagemang och er insats uppskattas verkligen!

Welcome! How can I help?

WebdriverIO AI Copilot