Next-Gen Browser- und Mobile-Automatisierungs-Testframework für Node.js
Testen in realen Umgebungen
WebdriverIO ermöglicht das Testen in echten Browsern oder mobilen Geräten, die von Ihren Benutzern verwendet werden.
Vielseitig und funktionsreich
Nutzen Sie WebdriverIO für vollständige E2E- oder Unit- und Komponententests im Browser.
Automatisches Warten
WebdriverIO wartet automatisch darauf, dass Elemente erscheinen, bevor mit ihnen interagiert wird.
Basierend auf Web-Standards
Cross-Browser-Unterstützung durch Automatisierung mittels WebDriver und WebDriver Bidi.
Native Mobile-Unterstützung
Führen Sie WebdriverIO auf echten Mobilgeräten, Smart-TVs oder anderen IoT-Geräten über Appium aus.
Engagierte Community
Betreibt einen Support-Kanal mit über 8.000 Mitgliedern und einem umfangreichen Ökosystem von Community-gepflegten 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- und Unit-/Komponententests in echten Browsern!
WebdriverIO ist ein All-in-One-Framework für Ihre Webentwicklung. Es ermöglicht Ihnen, kleine und leichtgewichtige Komponententests durchzuführen sowie E2E-Testszenarien im Browser oder auf einem Mobilgerät auszuführen. Dies garantiert, dass Sie Tests in einer Umgebung durchführen, die von Ihren Nutzern verwendet wird.
Es verfügt über intelligente Selektorstrategien, die die Interaktion, z.B. mit React components, oder die Ausführung tiefer Selektorabfragen mit verschachtelten Shadow-DOM-Bäumen vereinfachen. Da Interaktionen über ein standardisiertes Automatisierungsprotokoll erfolgen, ist garantiert, dass sie sich nativ verhalten und nicht nur in JavaScript emuliert werden.
Starten Sie mit WebdriverIO innerhalb von Sekunden
Der WebdriverIO-Testrunner verfügt über eine Befehlszeilenschnittstelle, die ein leistungsstarkes Konfigurationswerkzeug bietet und Ihnen hilft, Ihr Test-Setup in weniger als einer Minute zu erstellen. Es lässt Sie aus verfügbaren Testframework-Integrationen wählen und ermöglicht einfach das Hinzufügen aller unterstützten Reporter- und Service-Plugins!
Mit nur einem einfachen Befehl können Sie eine komplette Testsuite einrichten:
$ npm init wdio@latest ./
Lernen Sie mehr über WebdriverIO und wie Sie beginnen können auf YouTube.
Vorträge über WebdriverIO ansehen
Die Community rund um WebdriverIO spricht aktiv auf verschiedenen Benutzergruppen oder Konferenzen über spezifische Themen rund um automatisiertes Testen mit WebdriverIO. Schauen Sie sich diesen Vortrag auf Meine Lieblingsfunktionen von WebdriverIO von Julia Pottinger bei Open Quality Conference an.
Es gibt auch viele YouTube-Kanäle mit nützlichen Tutorials von Community-Mitgliedern wie Klamping, Seventeenth Sep oder Automation Bro.
Google Lighthouse-Integration
WebdriverIO führt nicht nur Automatisierung basierend auf dem WebDriver-Protokoll durch, sondern nutzt auch native Browser-APIs, um Integrationen in beliebte Entwicklertools wie Chrome DevTools oder Google Lighthouse zu ermöglichen. Mit dem @wdio/lighthouse-service
-Plugin haben Sie Zugriff auf Befehle zur Überprüfung, ob Ihre App eine gültige PWA-Anwendung ist, sowie auf Befehle zur Erfassung von Frontend-Leistungsmetriken wie `speedIndex` und andere.
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 und offen verwaltet
Wir sind ein Open-Source-Projekt mit einem starken Engagement für Transparenz und Community-Governance. Wir sind Teil der OpenJS Foundation, die ein Teil der Linux Foundation ist. Das Projekt wird vollständig von Freiwilligen betrieben und von investierten Unternehmen finanziert, die möchten, dass das Projekt erfolgreich ist. Das Projektteam ist dankbar für die großzügige Unterstützung dieser Unternehmen.
💎 Premium-Sponsoren
🥇 Gold-Sponsoren
Wenn Sie WebdriverIO in Ihrer Organisation verwenden, erwägen Sie bitte, das Projekt durch Sponsor werden zu unterstützen. Dies wird uns helfen, das Projekt am Laufen zu halten und weiterzuentwickeln.
Wir möchten allen Mitwirkenden unseren herzlichen Dank aussprechen, die dazu beigetragen haben, WebdriverIO zu dem leistungsstarken Werkzeug zu machen, das es heute ist. Euer Engagement und eure Mühe werden wirklich geschätzt!