Troubleshooting
Solutions for common issues when testing Dioxus applications with WebdriverIO.
Bridge Issues
"Bridge not available" or execute always returns undefined
The wdio-dioxus-bridge crate is not wired into your app.
Check 1: Bridge crate in dependencies
# Cargo.toml
[dependencies]
wdio-dioxus-bridge = "1"
Check 2: Bridge installed in main.rs
fn main() {
let mut config = dioxus::desktop::Config::new();
#[cfg(debug_assertions)]
{
config = wdio_dioxus_bridge::install(config);
}
dioxus::LaunchBuilder::desktop().with_cfg(config).launch(App);
}
Check 3: Debug build used for testing
The bridge is only compiled in debug builds. Ensure you are using cargo build (not cargo build --release) and the binary path in your config points to target/debug/my_app, not target/release/my_app.
Check 4: Rebuild application
cargo clean
cargo build
See Bridge Setup for the complete installation guide.
Driver Installation Issues
"wdio-dioxus-driver not found" ('external' provider, Windows)
The service cannot find the wdio-dioxus-driver executable.
Solution 1: Enable Auto-Installation
services: [['@wdio/dioxus-service', {
driverProvider: 'external',
autoInstallDioxusDriver: true,
}]]
Solution 2: Manual Installation
cargo install wdio-dioxus-driver
Solution 3: Specify Path Manually
services: [['@wdio/dioxus-service', {
driverProvider: 'external',
dioxusDriverPath: '/custom/path/wdio-dioxus-driver',
}]]
"MSEdgeDriver not found" (Windows, 'external' provider)
Solution 1: Enable Auto-Download
services: [['@wdio/dioxus-service', {
driverProvider: 'external',
autoDownloadEdgeDriver: true, // Default: true
}]]
Solution 2: Manual Download
- Check your WebView2 version (right-click your binary → Properties → Details)
- Download matching MSEdgeDriver from Microsoft Edge WebDriver
- Add to PATH
See Edge WebDriver (Windows) for detailed setup.
Provider Issues
"external provider not supported on Linux"
'external' is blocked on Linux in v1 — an upstream Dioxus PR is pending. Use driverProvider: 'embedded' instead.
services: [['@wdio/dioxus-service', {
driverProvider: 'embedded', // The only supported option on Linux
}]]
"external provider not supported on macOS"
'external' is not supported on macOS. Use driverProvider: 'embedded'.
"No driverProvider configured" or service fails to start
Set driverProvider explicitly:
services: [['@wdio/dioxus-service', {
driverProvider: 'embedded', // Recommended everywhere
}]]