Hoppa till huvudinnehåll

WebdriverIO

Nästa generations automationstestramverk för webbläsare och mobil för Node.js

Sponsored by
🌎

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ångsidig och funktionsrik

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.

📒

Baserad på webbstandarder

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

📱

Inbyggt mobilt stöd

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

🫂

Engagerad gemenskap

Driver en support channel med över 8000 medlemmar och ett rikt ekosystem av gemenskapsunderhållna 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 verklig webbläsare!

WebdriverIO är ett allt-i-ett-ramverk för din webapplikationsutveckling. Det möjliggör för dig att 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 levereras med smarta selektorstrategier som förenklar interaktion med t.ex. React components eller kör djupa selektorfrågor med nästlade shadow DOM-träd. Eftersom interaktioner sker genom ett standardiserat automatiseringsprotokoll garanteras det att de beter sig på ett naturligt sätt och inte bara emuleras via JavaScript.

Enkel installation för testning av webbkomponenter med:

Vue.jsNuxtSveltePreactSolidJSLitStencil

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

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!

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 kring 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å nativa webbläsar-API:er för att möjliggöra integrationer med populära utvecklarverktyg som Chrome DevTools eller Google Lighthouse. Med @wdio/lighthouse-service-plugin 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 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)

Vem 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 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

🥇 Gold Sponsors

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