rustenium 1.1.10

A modern, robust, high-performance WebDriver BiDi automation library for Rust
Documentation
use rustenium::error::cdp::*;

#[test]
fn nodes_fetch_error_parse_contains_message() {
    let err = NodesFetchError::ParseError("bad tree".into());
    assert!(format!("{}", err).contains("parse"));
}

#[test]
fn mouse_input_error_button_already_pressed() {
    let err = MouseInputError::ButtonAlreadyPressed("left".into());
    let msg = format!("{}", err);
    assert!(msg.contains("already pressed"));
    assert!(msg.contains("left"));
}

#[test]
fn mouse_input_error_button_not_pressed() {
    let err = MouseInputError::ButtonNotPressed("right".into());
    let msg = format!("{}", err);
    assert!(msg.contains("not pressed"));
    assert!(msg.contains("right"));
}

#[test]
fn input_error_unknown_key() {
    let err = InputError::UnknownKey("SuperKey".into());
    let msg = format!("{}", err);
    assert!(msg.contains("Unknown key"));
    assert!(msg.contains("SuperKey"));
}

#[test]
fn locate_error_timeout_contains_selector() {
    let err = LocateError::Timeout("#foo".into());
    let msg = format!("{}", err);
    assert!(msg.contains("Timed out"));
    assert!(msg.contains("#foo"));
}

#[test]
fn locate_error_parse_contains_message() {
    let err = LocateError::ParseError("bad json".into());
    assert!(format!("{}", err).contains("bad json"));
}

#[test]
fn evaluate_script_error_parse_contains_message() {
    let err = EvaluateScriptError::ParseError("no result".into());
    assert!(format!("{}", err).contains("no result"));
}

#[test]
fn preload_script_error_parse_contains_message() {
    let err = PreloadScriptError::ParseError("bad source".into());
    assert!(format!("{}", err).contains("bad source"));
}

#[test]
fn screenshot_error_variants_display_message() {
    assert!(format!("{}", ScreenshotError::InvalidPath("bad".into())).contains("bad"));
    assert!(format!("{}", ScreenshotError::Base64DecodeError("decode".into())).contains("decode"));
    assert!(format!("{}", ScreenshotError::FileWriteError("write".into())).contains("write"));
    assert!(format!("{}", ScreenshotError::ParseError("parse".into())).contains("parse"));
}

#[test]
fn create_tab_error_wraps_create_target_error() {
    use rustenium_core::error::CdpCommandResultError;
    let inner = CreateTargetError::CommandResultError(
        CdpCommandResultError::InvalidResultTypeError(serde_json::Value::Null),
    );
    let err = CreateTabError::CreateTargetError(inner);
    assert!(matches!(err, CreateTabError::CreateTargetError(_)));
}