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/debug/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 WebKitWebDriver
macOSโœ… Yesembedded, crabnebulaNative via embedded, or CrabNebula

See the Quick Start for each platform's requirements and the supported Linux distributions.

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)

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. GitHub Issues - Bug reports and feature requests for tauri-service
  3. 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