Commands reference
The protocol has 42 commands organised into eleven groups.
Protocol (4)
| Command | Purpose |
|---|---|
handshake | Negotiate protocol version + auth - mandatory first message |
ping | Health check, returns {"pong": true} |
version | Server version, protocol version, Qt version |
echo | Returns {"text": <input>} - diagnostic only |
Object discovery (6)
| Command | Purpose |
|---|---|
list_objects | Find objects by class_name / object_name |
find_object | Resolve a single object by path |
get_properties | Read N properties of an object |
get_children | Direct children of an object |
get_parent | The parent of an object |
get_object_tree | Recursive subtree from a root |
Interaction (7)
| Command | Purpose |
|---|---|
mouse_click | Click at object centre (button, count configurable) |
type_text | Type into a focusable widget |
key_press | Press a single key (or chord like Ctrl+C) |
drag | Drag source → target |
scroll | Wheel scroll on a widget |
screenshot | PNG of a widget or whole window |
highlight_object | Overlay a coloured frame for debugging |
Touch & gestures (5)
| Command | Purpose |
|---|---|
touch_tap | Single-finger tap |
touch_long_press | Long press with configurable duration |
swipe | Directional swipe |
pinch | Two-finger pinch with scale + optional rotation |
multi_touch | Arbitrary multi-finger sequence |
Model / view data (2)
| Command | Purpose |
|---|---|
get_model_info | Row/column count + role names of a model |
get_model_data | Cell values by index + role |
Visual verification (1)
| Command | Purpose |
|---|---|
screenshot_compare | Diff a widget against a baseline PNG |
Extended automation (4)
| Command | Purpose |
|---|---|
set_property | Write a property (triggers NOTIFY) |
invoke_method | Call a Q_INVOKABLE method or slot |
wait_for_property | Block until a property reaches a value |
wait_for_signal | Block until a signal fires once |
Push subscriptions (5)
| Command | Purpose |
|---|---|
subscribe_signal | Push signal_emitted events for a signal |
subscribe_property | Push property_changed events for a property |
subscribe_destroyed | Push one object_destroyed when the QObject is destroyed |
unsubscribe | Cancel a subscription |
list_subscriptions | List active subscriptions on this connection |
See Push events for full payload details.
Performance (3)
| Command | Purpose |
|---|---|
frame_time | FPS + min/avg/max frame duration over a window |
paint_count | Count paint events on a widget over a window |
memory_snapshot | Process RSS / VSize / threads / heap |
Mocking + multi-window (3)
| Command | Purpose |
|---|---|
emit_signal | Programmatically emit a signal (test stub) |
clipboard | Read or write the system clipboard |
list_windows | Enumerate all top-level windows |
Recording (2)
| Command | Purpose |
|---|---|
start_recording | Begin recording user interactions |
stop_recording | End recording, return the script |

