WebdriverIO Desktop & Mobile Testing
WebdriverIO services for automated testing of native desktop and mobile applications
Features | Quick Start | Contribute | Changelog
Electron applications (Windows/macOS/Linux)
CDP bridge for main process β’ Full API mocking β’ Window management
Tauri applications (Windows/Linux)
Official tauri-driver integration β’ Multiremote support β’ Plugin architecture
- 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, platform 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
# Install dependencies
pnpm install
# Build all packages
pnpm build
# Run tests
pnpm test
# Run linting
pnpm lintdesktop-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
β βββ 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 18 LTS or 20 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/package-structure.md for package conventions and structure.
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 implementation