STF —— 基于 Web 的远程 Android 设备调试平台

2026/06/08 tool Android · 设备调试 · 远程控制 · 自动化测试 · 移动端QA 1693 字 · 约 5 分钟 阅读
STF(Smartphone Test Farm)是基于 Web 的远程 Android 设备管理平台,从浏览器实时操控真实设备,支持多点触控、APK 拖拽安装、ADB Shell 等,适合移动端 QA 测试。

项目简介

STF(Smartphone Test Farm)是一个基于 Web 的远程智能手机调试平台,允许团队在浏览器中远程操控和调试真实的 Android 设备。由 DeviceFarmer 社区维护,它继承了原 OpenSTF 项目的精神,并持续更新以支持最新版本 Android 系统。

STF 的核心价值在于将多台 Android 设备集中管理,团队成员无论身在何处,都能通过浏览器实时操作设备,极大提升了移动端开发和测试的效率。

GitHub 数据

  • 仓库地址: DeviceFarmer/stf
  • Stars: 4,451Forks: 607
  • License: Apache 2.0 衍生
  • 语言: JavaScript
  • 当前版本: v3.7.7 (2025-07-23)
  • 创建时间: 2020-03-10
  • Android 兼容范围: 2.3 ~ 15(含 Wear OS 5.1+、Fire OS)

核心功能

  • 实时屏幕投射:30-40FPS 流畅度,几乎无延迟的设备屏幕镜像
  • 多点触控支持:完整模拟触摸手势,包括缩放、滑动等
  • APK 拖拽安装:直接将 APK 文件拖入浏览器窗口即可安装
  • Shell 命令:内置终端,可远程执行 adb shell 命令
  • ADB Connect:通过 adb 桥接连接设备,支持 USB 和无线连接
  • 设备库存监控:可视化面板展示所有设备的状态、型号、Android 版本
  • REST API:完整的 API 接口,可与 CI/CD 流水线集成

技术栈

技术用途
Node.js后端运行环境
RethinkDB实时数据库,管理设备和会话状态
ZeroMQ设备通信消息队列
Protocol Buffers高效数据序列化
ADB / minicap / minitouchAndroid 设备底层交互

使用方式 / 安装

Docker 快速部署(推荐)

STF 官方推荐使用 Docker Compose 进行部署:

git clone https://github.com/DeviceFarmer/stf.git
cd stf
docker-compose up -d

手动安装

npm install -g stf
stf local --public-ip <your-ip>

访问与使用

启动后通过浏览器访问 http://你的IP:7100,登录后即可看到所有连接的 Android 设备。点击设备即可在浏览器中获得完整的设备控制权。

适用场景

  • 移动端 QA 自动化测试:结合 Appium 等框架进行跨设备自动化测试
  • 跨设备兼容性测试:在多种 Android 版本和设备上验证应用表现
  • 远程设备管理:分布式团队共享设备资源,降低硬件采购成本
  • 演示与培训:远程展示移动应用功能,无需录屏或实际设备

竞品对比

项目类型优势劣势
STF (DeviceFarmer)开源自托管免费、完全可控、支持旧版 Android需自行维护服务器
AWS Device Farm商业云服务设备种类多、无缝对接 AWS 生态按分钟计费、无实时人工操控
Firebase Test Lab商业云服务与 Firebase 集成、自动化测试无实时操控、Google 生态限定
OpenSTF(原始版)开源(已归档)开创性项目已停止维护,功能落后

STF 最大的亮点是自托管方案,数据完全自主可控,同时支持实时人工操控,这在调试复杂交互问题时不可替代。

配置与扩展

STF 的架构设计使其具备良好的可扩展性。通过插件机制,可以添加自定义的设备交互能力;结合 CI/CD 流水线,可实现自动化测试的闭环管理。对于较大规模的团队,建议配合 Kubernetes 进行容器化编排,以支持设备池的动态扩缩容。

社区与生态

STF 的社区生态经历了从 OpenSTF 到 DeviceFarmer 的传承。目前 DeviceFarmer 组织维护着多个相关工具,包括 minicap(实时屏幕截图工具)、minitouch(触控事件注入工具)等底层组件,这些组件也被其他自动化测试框架广泛采用。

此外,STF 的 REST API 为生态系统提供了丰富的集成可能性。开发者可以基于 API 构建自定义的管理面板、告警系统或与现有的测试管理平台对接。结合 Appium,可以实现远程设备上的自动化测试执行。

参考资料

文档信息

加载评论…