Dioxus Service
@wdio/dioxus-service is a 3rd party package, for more information please see GitHub | npm
WebdriverIO service for testing Dioxus desktop applications on Windows, Linux, and macOS.
Enables cross-platform E2E testing of Dioxus apps via the extensive WebdriverIO ecosystem.
Featuresโ
- ๐ WebDriver server built into your app โ no separate driver to install on any platform
- ๐ฆ Automatic Dioxus binary path detection
- ๐ Cross-platform support (Windows, Linux, macOS)
- ๐ Full Dioxus API access via
browser.dioxus.execute() - ๐งฉ Mocking support for Dioxus
invokecommands - ๐ Backend and frontend log capture
- ๐ฅ๏ธ Multiremote testing support
- ๐ Per-worker driver spawning for parallel testing
- ๐ Browser mode โ test the Dioxus frontend in plain Chrome against a dev server, no binary or driver required
Installationโ
Install the service via npm:
npm install --save-dev @wdio/dioxus-service
Or with pnpm:
pnpm add -D @wdio/dioxus-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/dioxus-service'],
capabilities: [
{
browserName: 'dioxus',
'dioxus:options': {
// Debug build from `dx build --desktop` (Linux path; see the Quick Start for macOS and Windows)
application: './target/dx/my-app/debug/linux/app/my-app',
},
},
],
};
See Configuration Reference for all options.
Documentationโ
Getting Started
- Quick Start Guide - Set up in minutes
- App Setup - Add wdio-dioxus to your app
Reference
- Configuration - All service options
- API Reference - Complete API documentation
Guides
- Browser Mode - Test the renderer in Chrome without a Dioxus binary
- Usage Examples - Common testing patterns
- Log Forwarding - Capture app logs
- Deeplink Testing - Test protocol handlers
Help & Support
- Troubleshooting - Common issues and solutions
- Development - Contributing guide
Platform Supportโ
| Platform | Supported |
|---|---|
| Windows | โ Yes |
| Linux | โ Yes |
| macOS | โ Yes |
The WebDriver server runs inside your app, so there's no driver to install. The Quick Start lists each platform's requirements.
Example Projectsโ
Check out the E2E test fixtures in the desktop-mobile repository for complete working examples.
Supportโ
Having trouble? Here are some resources:
- Troubleshooting Guide - Solutions for common issues
- GitHub Issues - Bug reports and feature requests
- 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โ
- WebdriverIO Documentation
- Dioxus Documentation
- @wdio/tauri-service - Similar service for Tauri apps
- @wdio/electron-service - Similar service for Electron apps