Skip to main content

Crate waydriver

Crate waydriver 

Source
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::Rect;
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 locator::FillMode;
pub use locator::Locator;
pub use locator::SelectBy;
pub use session::Session;
pub use session::SessionConfig;

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.
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.
session
Test session lifecycle management.