CLI
Every pip install vericue ships a command-line client - useful for smoke-testing a veriCue-embedded app, shell scripting, and poking at an application interactively without writing a test.
bash
vericue --port 4242 ping
# or, equivalently:
python -m vericue --port 4242 pingGlobal options
Options go before the subcommand:
| Option | Default | Purpose |
|---|---|---|
--host | 127.0.0.1 | Server host |
--port | 4242 | Server TCP port |
--token | (none) | Authentication token |
--timeout | 10.0 | Connection/response timeout (seconds) |
Results print as pretty-printed JSON on stdout.
Exit codes: 0 success · 1 connection error (message on stderr) · 2 server error (JSON {error: {code, message}} on stderr).
Subcommands
Protocol
bash
vericue ping
vericue version
vericue echo "round trip"Discovery
bash
vericue find_object --path "MainWindow/okButton"
vericue find_object --object-name okButton
vericue find_object --class-name QPushButton
vericue list_objects --class-name QPushButton --root "MainWindow"
vericue get_properties MainWindow/okButton --properties text,enabled
vericue get_object_tree --root MainWindow --depth 2Interaction
bash
vericue mouse_click MainWindow/okButton --button left
vericue mouse_click MainWindow/fileList --double
vericue type_text MainWindow/nameEdit "Jane Doe"
vericue key_press MainWindow/nameEdit enter
vericue key_press MainWindow/editor "ctrl+s" --repeat 1
vericue drag MainWindow/slider 10 10 200 10 --button leftScreenshots & visual verification
bash
vericue screenshot --output shot.png # omit --output to get base64 JSON
vericue screenshot --path MainWindow/chartView --output chart.png
vericue highlight_object MainWindow/okButton --duration 2000 --color red
vericue save_baseline baseline.png --path MainWindow
vericue screenshot_compare --baseline baseline.png --threshold 0.02 --diff-output diff.pngTouch & gestures
bash
vericue touch_tap MainWindow/listView --x 50 --y 100 --duration 50
vericue touch_long_press MainWindow/item --duration 800
vericue swipe MainWindow/listView 150 400 150 100 --duration 300 --steps 10
vericue pinch MainWindow/imageView 50 200 --center-x 160 --center-y 120Model/view data
bash
vericue get_model_info MainWindow/tableView
vericue get_model_data MainWindow/tableView --row 0 --column 1
vericue get_model_data MainWindow/tableView --start-row 0 --end-row 9 --role displayAutomation & waiting
bash
vericue set_property MainWindow/nameEdit text '"Jane"' # value parsed as JSON, falls back to string
vericue wait_for_signal MainWindow/worker "finished()" --timeout 10000Recording
bash
vericue start_recording
# ...interact with the app by hand...
vericue stop_recording # returns captured events + generated Python scriptInteractive inspector
Requires pip install vericue[inspector]:
bash
vericue inspect # browse the live object tree
vericue inspect --root MainWindow --depth 3Raw commands
send reaches any protocol command, including ones without a dedicated subcommand. Values are parsed as JSON when possible:
bash
vericue send memory_snapshot
vericue send frame_time --param duration_ms=2000
vericue send subscribe_signal --param path=MainWindow/okButton --param 'signal=clicked()'Scripting example
bash
#!/usr/bin/env bash
set -euo pipefail
# Fail the deploy smoke-test if the app doesn't come up healthy.
vericue --port 4242 ping >/dev/null
text=$(vericue --port 4242 get_properties MainWindow/statusLabel --properties text \
| python -c 'import json,sys; print(json.load(sys.stdin)["text"])')
[ "$text" = "Ready" ] || { echo "App not ready: $text"; exit 1; }
