npm.io
1.2.0 • Published 4d ago

@wdio/tauri-service

Licence
MIT
Version
1.2.0
Deps
12
Size
958 kB
Vulns
0
Weekly
7.9K

@wdio/tauri-service

@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

Platform Supported Driver Providers Notes
Windows Yes embedded, external, crabnebula external auto-manages the Edge WebDriver
Linux Yes embedded, external, crabnebula external 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 (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

Keywords