Skip to content

testudos.api.debug

testudos.api.debug

Debug helpers: object inspection and dumps.

All helpers in this module use RPC calls via the engine. Use them to explore what is available in the AUT — not for test assertions (use wait_for_object / get_object).

get_all_objects

def get_all_objects() -> list[dict[str, Any]]

Fetch all objects from the backend and return raw descriptors.

Uses the getAllObjects RPC. Top-level snapshot only; for the full tree use :func:collect_object_tree.

collect_object_tree

def collect_object_tree() -> list[dict[str, Any]]

Walk the AUT object tree via getAllObjects + getChildren (breadth-first).

Slow — for debugging and exploration only, not for use in pytest assertions.

get_object_methods

def get_object_methods(target: str) -> list[str]

Return method signatures for an object (best-effort).

Uses getObjectMethods RPC.

def print_object_tree(*, include_children: bool = False) -> None

Print objects from the AUT.

When include_children is False (default), prints a flat list from getAllObjects. When True, walks the full tree via :func:collect_object_tree with indentation.

def print_object_details(target: str,
*,
include_methods: bool = True,
include_properties: bool = True,
include_property_values: bool = True) -> None

Print details for a single object, identified by name or ":name".

This is meant for exploration/debugging. It uses:

  • findObject RPC to fetch a fresh descriptor
  • getObjectMethods RPC (optional)

dump_all_objects

def dump_all_objects(*,
include_properties: bool = False,
include_property_values: bool = True,
filter_class_name: str | None = None,
filter_name_contains: str | None = None) -> None

Print all objects, optionally including their properties.

Uses getAllObjects (top-level snapshot). To walk nested children, use print_object_tree(include_children=True) or :func:collect_object_tree.