FindNode
FreshFindNode is Sigma RT's shell program that identifies UI elements through query-based interaction rather than coordinates. It integrates with Android Accessibility services to enable intelligent automation across devices with different resolutions.
Key Advantages
- No coordinate dependency — queries target UI elements by properties (text, ID, class)
- Cross-resolution — same queries work on any screen size
- Multi-device — run the same automation across different phone models
Core Components
| Component | Purpose |
|---|---|
| Query Language | JSON-based syntax to locate UI elements |
| Selector | Core matching technology |
| Object Mode | Multi-device synchronization |
| UI Explorer | Visual tool for building queries |
| AAIS | Scripting language built on FindNode |
| REST/JS API | Programmatic access to FindNode |
How It Works
Instead of clicking coordinates:
javascript
// Old way (coordinate-based)
device.click(540, 960);
// FindNode way (object-based)
device.sendAai({ query: "T:OK", action: "click" });The query T:OK finds the element with text "OK" regardless of its position on screen.
Three Essential Tools
- UI Explorer — Main pane > Scripts > Tools > UI Explorer. Inspect UI element properties and test queries visually
- Terminal — Main pane > Scripts > Terminal. Interactive testing with
sendAai()command - JavaScript (Rhino) — Combine queries and terminal tests into reusable scripts
SigmaTestApp
A dedicated test app is available to experiment with FindNode:
- Launch from Total Control menu
- Auto-installs on connected devices if not present
- Contains sample UI elements for query testing
Sections
- Query Syntax — Templates, basic queries, expanded queries
- Templates & Filters — Template types and filter options
- Actions & Commands — Click, getText, scroll, and more
- Examples — Real-world FindNode examples