Remote runtime agent for Citrix/VDI automation with native UIAutomation selectors.
Built by: Yash Sharma, Sr AI/ML Engineer, Yash (Yash_Personal_openSource)
The Snowboard Remote Runtime Agent runs on Citrix/VDI machines to enable native selector-based automation from Snowboard Studio. It provides:
- Native UIAutomation: Access to Windows UIAutomation API inside remote sessions
- TCP/IP Communication: Secure communication with Studio over port 9250
- Auto-Discovery: UDP broadcast for automatic discovery on the network
- Health Monitoring: Auto-restart on failures for reliability
- Self-Contained: Single .exe deployment with no external dependencies
SnowboardRemoteRuntime.exe --console# Install service (requires Administrator)
sc create SnowboardRemoteRuntime binPath= "C:\Path\To\SnowboardRemoteRuntime.exe" start= auto
# Start service
sc start SnowboardRemoteRuntime
# Check status
sc query SnowboardRemoteRuntime
# Stop service
sc stop SnowboardRemoteRuntime
# Uninstall service
sc delete SnowboardRemoteRuntimeThe agent listens on port 9250 for TCP connections and port 9251 for UDP discovery.
Ensure these ports are open in your firewall:
netsh advfirewall firewall add rule name="Snowboard Remote Runtime TCP" dir=in action=allow protocol=TCP localport=9250
netsh advfirewall firewall add rule name="Snowboard Remote Runtime UDP" dir=in action=allow protocol=UDP localport=9251Logs are stored at:
%LOCALAPPDATA%\Snowboard\RemoteRuntime\
- runtime_YYYYMMDD.log (main logs)
- health_YYYYMMDD.log (health check logs)
The remote runtime supports:
- Find Element: Locate UI elements by AutomationId, Name, ClassName, ControlType
- Click: Single, double, and right-click actions
- Type Text: Text input with optional clear-first
- Get Text: Extract text from UI elements
- Screen Capture: Capture screenshots from remote session
┌─────────────────────────┐ ┌─────────────────────────┐
│ Snowboard Studio │ TCP/IP │ Remote Runtime Agent │
│ (Developer Machine) │<------->│ (Citrix/VDI Machine) │
└─────────────────────────┘ 9250 └─────────────────────────┘
│ │
│ UDP Discover (9251) │
└──────────────────────────────────────┘
- No Credentials Stored: Agent does not store any credentials
- Local Network Only: Designed for LAN/VPN environments
- Admin Rights Required: Requires Administrator for UIAutomation access
- Check firewall rules on both Studio and Agent machines
- Verify UDP port 9251 is open
- Ensure both machines are on same network/VLAN
- Check TCP port 9250 is open
- Verify agent is running:
sc query SnowboardRemoteRuntime - Check logs for errors
- Verify agent is running with Administrator privileges
- Check if target application is visible (not minimized)
- Ensure UIAutomation is enabled on the system
- v1.0.0 (2025-01-27): Initial release with full UIAutomation support