WebdriverIO Desktop & Mobile Testing
WebdriverIO services for automated testing of native desktop and mobile applications
Features | Development | Contribute | Changelog
@wdio/electron-service - Electron applications (Windows / macOS / Linux)
@wdio/tauri-service - Tauri applications (Windows / macOS / Linux)
- Dioxus - Modern cross-platform UI framework
- React Native - Popular mobile and desktop framework
- Flutter - Google's UI toolkit for mobile and beyond
- 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 Electron, Tauri
- 🔍 Smart binary detection - Automatic app discovery and configuration
- 🎭 API mocking & isolation - Built-in mocking for deterministic tests
- 🌐 Cross-platform support - Write once, test everywhere
- 🔧 Consistent API - Familiar WDIO patterns across all frameworks
desktop-mobile/
├── packages/ # Service packages
│ ├── electron-service/ # Electron service implementation
│ ├── tauri-service/ # Tauri service implementation
│ ├── electron-cdp-bridge/ # Chrome DevTools Protocol bridge
│ ├── 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
├── 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
│ └── 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 |
| 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