Skip to main content

Tauri Service

@wdio/tauri-service is a 3rd party package, for more information please see GitHub | npm

@wdio/tauri-service Version Downloads

WebdriverIO service for testing Tauri applications on Windows, Linux, and macOS.

Enables cross-platform E2E testing of Tauri apps via the extensive WebdriverIO ecosystem.

Featuresโ€‹

  • ๐Ÿš— 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
  • ๐ŸŒ Browser mode โ€” test the Tauri frontend in plain Chrome against a Vite dev server, no Tauri binary or driver required

Installationโ€‹

Install the service via npm:

npm install --save-dev @wdio/tauri-service

Or with pnpm:

pnpm add -D @wdio/tauri-service

Quick Startโ€‹

Get started in minutes with the Quick Start Guide.

Minimal Configurationโ€‹

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.

Documentationโ€‹

Getting Started

Reference

Guides

Help & Support

Platform Supportโ€‹

PlatformSupportedDriver ProvidersNotes
Windowsโœ… Yesembedded, external, crabnebulaexternal auto-manages the Edge WebDriver
Linuxโœ… Yesembedded, external, crabnebulaexternal requires webkit2gtk-driver
macOSโœ… Yesembedded, crabnebulaNative via embedded, or CrabNebula

See Platform Support for detailed information including distribution support and troubleshooting.

Choosing a driver provider (see ADR 0001 for the naming):

  • embedded (default, all platforms) โ€” WebDriver runs inside your app; no external driver needed
  • external โ€” a separate tauri-driver process; Windows/Linux only
  • crabnebula โ€” CrabNebula's cross-platform driver; requires a subscription (CN_API_KEY for macOS)

driverProvider: 'official' is a deprecated alias for 'external' and will be removed in v2.

Example Projectsโ€‹

Check out the E2E test fixtures in the desktop-mobile repository for complete working examples.

Supportโ€‹

Having trouble? Here are some resources:

  1. Troubleshooting Guide - Solutions for common issues
  2. Platform Support - Platform-specific information
  3. GitHub Issues - Bug reports and feature requests for tauri-service
  4. WebdriverIO Forum - General community help and discussions

Contributingโ€‹

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 request

Licenseโ€‹

MIT License. See LICENSE file for details.

See Alsoโ€‹

Welcome! How can I help?

WebdriverIO AI Copilot