How to Use UIScope
From first install to generating automation code — everything you need to get productive in minutes.
Installation
Windows (recommended — Microsoft Store)
The easiest way to install UIScope on Windows is the Microsoft Store. Updates are automatic.
Get UIScope on Microsoft Store
Windows (direct download)
- Download the .exe installer from GitHub Releases
- Double-click the installer — no admin rights required (per-user install)
- UIScope appears in the Start menu and system tray
Enterprise / silent install options: .msi via msiexec /i UIScope.msi /qn, or .msix for WinGet / sideload.
Linux (Ubuntu / Debian)
sudo dpkg -i uiscope_*.deb
Or download the .AppImage for a portable, no-install option:
chmod +x UIScope-*.AppImage
./UIScope-*.AppImage
macOS
Build from source — see the GitHub repository for instructions.
First Launch & Onboarding
The first time you open UIScope you will see the Onboarding screen, which checks your environment:
ADB check
UIScope looks for adb in your PATH. If it is missing, a one-click button downloads the minimal Android Platform Tools (~10 MB) and installs them for you.
OS accessibility check
On macOS, UIScope requires the Accessibility permission — you will be shown the exact system preference pane to enable it. On Windows and Linux this is automatic.
Launcher
Once checks pass, the Launcher screen lets you pick between PC Inspector, Android Inspector, Diff Mode, and Watch Mode. UIScope remembers your last-used mode.
Android Inspector
Connect via USB
Enable USB Debugging
On your Android device: Settings → About phone → tap Build number seven times → go back to Settings → Developer options → enable USB Debugging.
Plug in the USB cable
Connect the device to your PC. Accept the "Allow USB Debugging" dialog on the device if prompted.
Select the device in UIScope
Open UIScope → Android Inspector. Your device appears in the device list within a few seconds. Click it to connect.
Capture & inspect
UIScope takes a screenshot and dumps the full UI tree. Navigate to any screen on the device and press Refresh (or Alt+Shift+R) to re-capture.
Connect wirelessly (Android 11+)
- On the device: Developer options → Wireless Debugging → enable it → tap Pair device with pairing code
- In UIScope: click Pair wirelessly and enter the 6-digit code and port shown on the device
- After pairing succeeds, the device appears in the list — select it to connect
Connect wirelessly (pre-Android 11)
- Connect via USB first, then run
adb tcpip 5555in a terminal - Unplug the USB cable
- In UIScope: click Connect via IP and enter the device's IP address
Navigating the inspector
The Android inspector has three panels:
- Element Tree (left) — the full UIAutomator accessibility tree, virtualised for performance on large screens. Expand and collapse nodes. Use Ctrl+F to search.
- Device Canvas (centre) — live screenshot, zoomable and pannable. Click any area to select the node under that point.
- Properties (right) — all properties of the selected node: resource ID, text, content description, class, package, bounds, and boolean flags. Click the copy icon next to any field to copy its value.
Bidirectional selection: click a node in the tree → it highlights on the canvas; click the canvas → the corresponding node is selected in the tree.
PC Inspector
PC Inspector works on Windows (UIAutomation), macOS (AX API), and Linux (AT-SPI2). No additional software is required — UIScope uses the OS accessibility APIs directly via JNA.
Using Pick Mode
Open PC Inspector
From the Launcher, select PC Inspector. UIScope starts in pick mode automatically.
Hover over a window
Move your cursor over any window — a blue highlight overlay shows the element currently under your cursor.
Lock with Alt+Shift+P
Press Alt+Shift+P to lock onto the window. UIScope captures the full element tree for that process and loads it into the inspector.
Explore the tree
The same 3-panel layout as Android Inspector: tree on the left, canvas in the centre, properties on the right. Scroll and expand nodes, click to select, use Ctrl+F to search.
Code Generation
With any node selected in the tree, open the Code tab in the Properties panel to see ready-to-paste automation code.
Supported frameworks
| Framework | Platform | Language |
|---|---|---|
| AutoHotKey v2 | Windows PC | AHK |
| pywinauto | Windows PC | Python |
| FlaUI | Windows PC | C# |
| PowerShell UIAutomation | Windows PC | PowerShell |
| uiautomator2 | Android | Python |
| UIAutomator2 | Android | Kotlin / Java |
| Appium | Android | Java & Python |
| Maestro | Android | YAML |
| XPath | Android & PC | XPath expression |
Fragile selector warnings
UIScope analyses each generated selector and shows a yellow "Fragile" badge if the selector is likely to break. Common fragility signals include:
- Obfuscated resource IDs (e.g.
com.example:id/a1b2) - No resource ID — selector falls back to text or index
- Raw coordinate-based bounds that may differ across screen sizes
- Deeply nested XPath that will break with minor layout changes
The badge includes an explanation of why the selector is fragile and a suggestion for how to make it more stable.
Diff Mode
Diff Mode compares two saved inspection sessions and shows exactly what changed between them.
Save two sessions
Every capture is saved automatically. If you want to compare before/after a code change, just inspect twice — once before and once after.
Open Diff Mode
From the Launcher (or menu bar), choose Diff Mode. Pick the two sessions you want to compare from the dropdown lists.
Review the diff
The diff view shows three columns: added elements, removed elements, and changed elements. Expand any changed element to see the exact property differences.
Watch Mode
Watch Mode monitors a connected Android device continuously and fires a notification when a condition you define is met.
Creating a watch rule
- Open Watch Mode from the Launcher
- Select your connected Android device
- Click Add Rule and choose a condition type:
- Element appears — fires when a node matching a selector appears in the tree
- Element disappears — fires when a matching node is no longer present
- Text matches — fires when a node's text equals or contains a given string
- Text changes — fires whenever a node's text value changes
- Set the selector (resource ID, text, XPath, or class name)
- Click Start Watching
When the condition is met, UIScope shows a desktop notification and logs the event in the Watch log panel. You can run multiple rules simultaneously.
Export & Sessions
Exporting the element tree
With an inspection open, click the Export button (or File → Export) and choose a format:
| Format | Best for |
|---|---|
| JSON | Scripts, diffing with external tools, machine processing |
| XML | UIAutomator-compatible output; works with Appium, other tools |
| Outline | Human-readable indented tree — great for bug reports and documentation |
You can export the entire tree or just the currently selected subtree.
Session history
All sessions are stored automatically in ~/.uiscope/uiscope.db. Open the History screen to:
- Browse all past sessions by date and device
- Search sessions by app name, package, or node content
- Re-open any session without reconnecting the device
- Delete sessions you no longer need
Keyboard Shortcuts
Tips & Tricks
- Multi-window: Use Ctrl+Shift+N to open a second UIScope window and compare two apps or two sessions side-by-side.
- Bookmarks: Pin frequently referenced nodes with the bookmark icon (⭐) in the properties panel. Access all bookmarks from the sidebar.
- Copy any field: Every property in the Properties panel has a small copy icon. Click it to copy that field's value directly to the clipboard — useful for quickly grabbing resource IDs.
- XPath from breadcrumb: The breadcrumb bar above the canvas shows the full path from root to the selected node. Click Copy XPath at the right of the breadcrumb to get a working XPath expression in one click.
- Wireless ADB tip: On Android 11+ both devices must be on the same Wi-Fi network. If pairing fails, try toggling Wireless Debugging off and on again on the device.
- Large trees: UIScope virtualises the tree view, so even screens with 2 000+ nodes scroll smoothly. Use Ctrl+F to search instead of scrolling for specific nodes.
- Export for bug reports: The Outline export format produces a clean indented text tree that pastes beautifully into Jira, GitHub Issues, or any text field.
- Settings: Visit Settings (gear icon) to adjust ADB path, screenshot quality, refresh interval, theme, startup mode, and the auto-update check.