Nästa generations automationstestramverk för webbläsare och mobil för Node.js
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.
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 Pottinger på Open 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.
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)
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.