Expand description
Headless GUI testing for Wayland applications.
WayDriver launches apps in isolated compositor sessions, interacts with them via AT-SPI accessibility APIs, and captures screenshots via PipeWire.
The library is backend-agnostic: three traits (CompositorRuntime,
InputBackend, CaptureBackend) define the interface, and concrete
implementations live in separate crates (e.g. waydriver-compositor-mutter).
Re-exports§
pub use atspi::CachedAccessible;pub use atspi::Rect;pub use atspi::ValueInfo;pub use backend::CaptureBackend;pub use backend::CompositorRuntime;pub use backend::InputBackend;pub use backend::PipeWireStream;pub use backend::PointerAxis;pub use backend::PointerButton;pub use backend::StreamToken;pub use error::Error;pub use error::Result;pub use gsettings::GSettingEntry;pub use gsettings::GSettingsConfig;pub use locator::FillMode;pub use locator::Locator;pub use locator::SelectBy;pub use role::Role;pub use session::SecondaryInstance;pub use session::Session;pub use session::SessionConfig;pub use session::VisualRegionTuning;pub use session::VisualTextTuning;pub use sink::CapturedNotification;pub use sink::CapturedOpenUri;pub use sink::ExternalSinks;
Modules§
- atspi
- AT-SPI accessibility tree inspection and interaction.
- backend
- Backend trait definitions for compositors, input, and capture.
- capture
- GStreamer-based PipeWire frame capture helpers.
- error
- Error types used throughout the crate.
- gaction
- Driving GTK
app.*/win.*GActions over theorg.gtk.Actionssession-bus interface — for menu/dialog items absent from the AT-SPI tree. Driving GTK applications through their exportedorg.gtk.ActionsD-Bus interface — a surface distinct from AT-SPI. - gsettings
- Per-session GSettings isolation via the keyfile backend. Per-session GSettings isolation via GIO’s keyfile backend.
- keysym
- X11 keysym utilities for keyboard input.
- locator
- XPath-based lazy locators over the AT-SPI tree. XPath-based lazy locators for AT-SPI elements.
- role
- Typed AT-SPI roles for the ergonomic locator helpers. Typed AT-SPI roles for the ergonomic locator helpers.
- session
- Test session lifecycle management.
- sink
- Mock D-Bus services that capture an app’s external effects (desktop notifications, portal open-URI) for assertion. Mock D-Bus services that capture an app’s “external effects”.