WebdriverIO Desktop & Mobile Testing
WebdriverIO services for automated testing of native desktop and mobile applications
Features | Development | Contribute | Changelog
Stable releases β published on the
latestdist-tag.
| Service | Version | Platforms | Downloads |
|---|---|---|---|
| Windows / macOS / Linux | |||
| Windows / macOS / Linux |
Feature-complete services published under the
nextdist-tag (1.0.0-next.x).
| Service | Version | Platforms | Downloads |
|---|---|---|---|
| Windows / macOS / Linux | |||
| Android / iOS | |||
| Android / iOS |
Early (
0.x) support β feature surface is limited by upstream gaps. Not yet at parity with the services above.Electrobun: Linux upstream-blocked; macOS deeplink & multiremote upstream-blocked. See README
| Service | Version | Platforms | Downloads |
|---|---|---|---|
| macOS / Windows |
- Capacitor - Ionic's cross-platform mobile framework
- Neutralino - Lightweight desktop applications
See ROADMAP.md for detailed sequencing, os support, and timelines.
- π― Framework-specific automation - Native integration with desktop and mobile frameworks
- βοΈ Automatic driver setup - Framework drivers spawned, configured, and torn down automatically
- π API mocking & isolation - Built-in mocking for deterministic tests
- β‘ Backend code execution - Evaluate expressions and call functions in the app's native runtime
- π± Native mobile automation - Appium-driven UI interaction for Android + iOS
- π₯οΈ Browser-only mode - Validate UI in Chrome against a dev server, no native binary
- π§ Consistent cross-platform API - Familiar WDIO patterns across all frameworks and platforms
desktop-mobile/
βββ packages/ # Service packages
β βββ electron-service/ # Electron service implementation
β βββ tauri-service/ # Tauri service implementation
β βββ dioxus-service/ # Dioxus service implementation
β βββ electrobun-service/ # Electrobun service implementation
β βββ electron-cdp-bridge/ # Chrome DevTools Protocol bridge (Electron)
β βββ native-cdp-bridge/ # Shared CDP bridge (single + multi-target)
β βββ native-utils/ # Cross-platform utilities
β βββ native-types/ # TypeScript type definitions
β βββ native-spy/ # Spy utilities for mocking
β βββ bundler/ # Build tool for packaging
β βββ tauri-plugin/ # Tauri plugin for backend access
β βββ dioxus-bridge/ # Dioxus bridge crate (Rust)
β βββ dioxus-embedded-driver/ # Dioxus embedded WebDriver server (Rust)
β βββ dioxus-driver/ # Dioxus external WebDriver proxy (Rust, Windows)
βββ fixtures/ # Test fixtures and example apps
β βββ e2e-apps/ # E2E test applications
β βββ package-tests/ # Package integration tests
β βββ config-formats/ # Configuration format test fixtures
βββ e2e/ # End-to-end test suites
β βββ test/ # Test specifications
β β βββ electron/ # Electron E2E tests
β β βββ tauri/ # Tauri E2E tests
β β βββ dioxus/ # Dioxus E2E tests
β βββ scripts/ # Test execution scripts
βββ docs/ # Documentation
βββ scripts/ # Build and utility scripts
- Node.js 24 LTS
- pnpm 10.27.0
pnpm install # Install dependencies
pnpm build # Build all packages
pnpm test # Run testsSee docs/setup.md for detailed setup instructions and CONTRIBUTING.md for the full command reference.
We welcome contributions! Please see CONTRIBUTING.md for detailed guidelines.
Monorepo built with Turborepo, pnpm workspaces, and TypeScript. Each service integrates with WebdriverIO's test runner and provides framework-specific automation capabilities.
See docs/architecture.md for detailed architecture documentation and docs/package-structure.md for package conventions.
| Document | Description |
|---|---|
| AGENTS.md | AI assistant context and coding standards |
| CONTRIBUTING.md | Contribution guidelines |
| ROADMAP.md | Framework support roadmap |
| MAINTENANCE.md | Version support and maintenance policy |
| SECURITY.md | Security policy and vulnerability reporting |
| docs/setup.md | Detailed setup instructions |
| docs/architecture.md | Service architecture overview |
| docs/e2e-testing.md | E2E testing guide |
| Electron browser mode, Tauri, Dioxus | Browser-only test mode guides |
| docs/visual-testing.md | Visual regression testing with @wdio/visual-service |
| docs/package-structure.md | Package conventions |
MIT License - see LICENSE for details.
Note: This repository does not maintain LTS or backport branches. Only the latest version on
mainreceives updates. See MAINTENANCE.md for details.
- WebdriverIO - Main WebdriverIO project
- WebdriverIO Docs - Official documentation
- WebdriverIO Community - Community resources
- Discord - Join the WebdriverIO Discord for support
- GitHub Issues - Bug reports and feature requests
- GitHub Discussions - Questions and ideas
- wdio-electron-service - Legacy Electron service repo
- tauri-driver - Official Tauri WebDriver server