Zum Hauptinhalt springen

WebdriverIO

Test-Framework für Browser und mobile Automatisierung der nächsten Generation für Node.js

Sponsored by  and  
🌎

Testen in realen Umgebungen

Mit WebdriverIO können Sie in echten Browsern oder mobilen Geräten testen, die von Ihren Benutzern verwendet werden.

🔩

Vielseitig und Funktionsreich

Verwenden Sie WebdriverIO für vollständige e2e- oder Unit- und Komponententests im Browser.

💤

Automatisches Warten

WebdriverIO wartet automatisch auf das Erscheinen von Elementen, bevor es mit ihnen interagiert.

📒

Basierend auf Webstandards

Cross-Browser-Unterstützung durch Automatisierung durch 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 Gemeinschaft

Betrieb einer support channel mit über 8.000 Mitgliedern und einem reichen Ökosystem von Community-verwalteten 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/Component Testing im echten Browser!

WebdriverIO ist ein alles in einem Framework für Ihre Web Development Arbeit. Es ermöglicht Ihnen einfache unit oder Komponenten Tests, sowie auch e2e Test Anwendungen zu schreiben, die im Browser oder auf dem Mobilen Gerät ausgeführt werden können. Dies garantiert, dass Sie in einer Umgebung testen, welches auch von Ihren Nutzern genutzt wird.

Es kommt mit intelligenten Befehlen, die die Interaktion z.B. mit React Komponenten oder verschachtelten Shadow-DOM-Elementen vereinfachen. Da Interaktionen über ein standardisiertes Automatisierungsprotokoll erfolgen, ist garantiert, dass sie sich nativ verhalten und nicht nur druch JavaScript emuliert werden.

Einfache Einrichtung zum Testen von Webkomponenten mit:

Vue.jsNuxtSveltePreactSolidJSLitStencil

Starten Sie innerhalb von Sekunden mit WebdriverIO

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!

Mit nur einem einfachen Befehl können Sie eine vollständige Testsuite einrichten:


$ npm init wdio@latest ./

Erfahren Sie mehr über WebdriverIO und die ersten Schritte auf Youtube.

Sehen Sie sich Vorträge über WebdriverIO an

Die Community rund um WebdriverIO spricht aktiv auf verschiedenen Benutzergruppen oder Konferenzen über spezifische Themen rund um das automatisierte Testen mit WebdriverIO. Sehen Sie sich diesen Vortrag auf Meine Lieblingsfunktionen von WebdriverIO von Julia Pottinger auf 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 aus, sondern nutzt auch native Browser-APIs, um Integrationen in beliebte Entwicklertools wie Chrome DevTools oder Google Lighthouse zu ermöglichen. Mit dem @wdio/devtools-service Plugin haben Sie Zugriff auf Befehle zum Überprüfen, ob Ihre App eine gültige PWA-Anwendung ist, sowie auf Befehle zum Erfassen von Frontend-Leistungsmetriken wie „speedIndex“ und anderen.

Integration in Entwicklertools wie:

Chrome DevToolsGoogle LighthouseAxe Accessibility Engine

await browser.emulateDevice('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)

Wer verwendet alles 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

Welcome! How can I help?

WebdriverIO AI Copilot