Skip to content

Integration services for cross-platform testing with WebdriverIO

License

Notifications You must be signed in to change notification settings

webdriverio/desktop-mobile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

WebdriverIO Desktop & Mobile Testing

WebdriverIO services for automated testing of native desktop and mobile applications

Build Status License: MIT Discord


Features | Quick Start | Contribute | Changelog

Supported Services

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

Planned Services

  • 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.

Features

  • 🎯 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

Quick Start

# Install dependencies
pnpm install

# Build all packages
pnpm build

# Run tests
pnpm test

# Run linting
pnpm lint

Project Structure

desktop-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

Development

Requirements

  • Node.js 18 LTS or 20 LTS
  • pnpm 10.27.0+

Setup

pnpm install  # Install dependencies
pnpm build    # Build all packages
pnpm test     # Run tests

See docs/setup.md for detailed setup instructions and CONTRIBUTING.md for the full command reference.

Contributing

We welcome contributions! Please see CONTRIBUTING.md for detailed guidelines.

Architecture

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.

License

MIT License - see LICENSE for details.

Maintenance Policy

Note: This repository does not maintain LTS or backport branches. Only the latest version on main receives updates. See MAINTENANCE.md for details.

Community & Support

Related Projects

About

Integration services for cross-platform testing with WebdriverIO

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Contributors 6