How I Built an Autonomous Physical Device QA Farm with Python, ESP32, and n8n (Bypassing AWS Device Farm)
说明与用途
使用 ESP32-CAM、Python、OpenCV 和 Vision LLM 的物理移动设备自动化 QA 系统,消除了云服务成本和 USB 连接不稳定问题。
问题
Running automated UI tests on a fleet of physical mobile devices is expensive with cloud farms and unreliable with local hardware due to USB hub instability and OS-level screen recording overhead.
结果
The system enables autonomous, low‑overhead UI testing on a fleet of physical devices, eliminating cloud costs and USB instability while providing real‑time results via n8n.
工作流
- Trigger a GitHub Action that sends a webhook to n8n.
- n8n posts to a local Python Fleet API to allocate an idle ESP32 node and its device.
- The ESP32 streams the device screen via RTSP to the server with <100 ms latency.
- Python backend captures a frame, encodes it, and sends it to a Vision LLM (e.g., gpt‑4o) with a structured prompt to assert UI elements.
- Results are routed back to n8n, which updates Jira, posts to Slack, or logs metrics.
证据
Cloud-based device farms (like AWS Device Farm or BrowserStack) cost thousands of dollars per month and throttle your CI/CD pipelines due to harsh concurrent usage limits.
By physically mounting a $5 ESP32-CAM over the mobile device, we decouple the testing mechanism from the device's OS entirely.
The ESP32 utilizes optimized C++ firmware to stream the physical device's screen via RTSP to the local server with sub-100ms latency.
- 记录日期: 2026-10-13T17:56:20.882Z