WebdriverIO service for testing Tauri applications on Windows, Linux, and macOS.
Enables cross-platform E2E testing of Tauri apps via the extensive WebdriverIO ecosystem.
- 🚗 Automatic tauri-driver installation and management
- 🔧 Automatic Edge WebDriver management on Windows
- 📦 Automatic Tauri binary path detection
- 🌐 Cross-platform support (Windows, Linux, macOS)
- 🔗 Full Tauri API access via
browser.tauri.execute() - 🧩 Mocking support for Tauri's invoke API
- 📊 Backend and frontend log capture
- 🖥️ Multiremote testing support
- 🏃 Per-worker driver spawning for parallel testing
Install the service via npm:
npm install --save-dev @wdio/tauri-serviceOr with pnpm:
pnpm add -D @wdio/tauri-serviceGet started in minutes with the Quick Start Guide.
Add to your wdio.conf.ts:
export const config = {
services: ['@wdio/tauri-service'],
capabilities: [
{
browserName: 'tauri',
'tauri:options': {
application: './src-tauri/target/release/my-app.exe'
}
}
]
};See Configuration Reference for all options.
Getting Started
- Quick Start Guide - Set up in minutes
- Plugin Setup - Install tauri-plugin-wdio
Reference
- Configuration - All service options
- API Reference - Complete API documentation
- Platform Support - Windows, Linux, macOS
Guides
- Usage Examples - Common testing patterns
- Log Forwarding - Capture app logs
- Edge WebDriver (Windows) - Windows-specific setup
- Deeplink Testing - Test protocol handlers
Help & Support
- Troubleshooting - Common issues and solutions
- Development - Contributing guide
| Platform | Supported | Driver Providers | Notes |
|---|---|---|---|
| Windows | ✅ Yes | official, crabnebula, embedded |
Edge WebDriver auto-managed |
| Linux | ✅ Yes | official, crabnebula, embedded |
Requires webkit2gtk-driver |
| macOS | ✅ Yes | embedded, crabnebula |
Native via embedded, or CrabNebula |
See Platform Support for detailed information including distribution support and troubleshooting.
Choosing a driver provider:
embedded(recommended) — Native support on all platforms, no external driver neededofficial— Community driver, Windows/Linux onlycrabnebula— All platforms, requires subscription (CN_API_KEY for macOS)
Check out the E2E test fixtures in the desktop-mobile repository for complete working examples.
Having trouble? Here are some resources:
- Troubleshooting Guide - Solutions for common issues
- Platform Support - Platform-specific information
- GitHub Issues - Bug reports and feature requests for tauri-service
- WebdriverIO Forum - General community help and discussions
We welcome contributions! Please see our Development Guide for:
- Setting up your development environment
- Running tests
- Code style guidelines
- Pull request process
Quick start for contributors:
# Clone and install
git clone https://github.com/webdriverio/desktop-mobile.git
cd desktop-mobile
pnpm install
# Make your changes
# ...
# Run tests
pnpm test
# Submit a pull requestMIT License. See LICENSE file for details.
- WebdriverIO Documentation
- Tauri Documentation
- @wdio/electron-service - Similar service for Electron apps