在云服务器上部署STF实现远程真机测试
海外云服务器 40个地区可选 亚太云服务器 香港 日本 韩国
云虚拟主机 个人和企业网站的理想选择 俄罗斯电商外贸虚拟主机 赠送SSL证书
美国云虚拟主机 助力出海企业低成本上云 WAF网站防火墙 为您的业务网站保驾护航
本文介绍了如何在云服务器上部署STF(Smartphone Test Farm),以实现远程真机测试,通过部署STF,用户可以集中管理多台真机设备,并通过浏览器远程访问和操作设备,提升测试效率,步骤包括环境准备、安装依赖、配置ADB连接、启动STF服务及设置反向代理等,部署完成后,团队可实现跨设备的远程测试与调试。
随着移动应用开发技术的迅猛发展,真机测试的需求也日益增加,为了提高测试效率并降低设备管理成本,越来越多的开发和测试团队选择将 STF(Smartphone Test Farm) 部署在云服务器上,实现远程访问与集中管理,STF 是一个开源的 Android 设备管理平台,它允许用户通过浏览器远程控制连接的设备,特别适用于自动化测试、手动调试以及设备共享等场景。
STF 简介
STF(Smartphone Test Farm)是由 Opera 公司开发的一款开源工具,旨在为开发者提供一个集中管理 Android 设备的平台,通过 STF,用户可以在浏览器中远程查看和控制连接的 Android 手机,执行安装应用、运行测试、查看日志、截图、录制操作视频等操作,从而极大提升测试工作的灵活性和效率。
STF 的核心优势在于其开源特性、跨平台兼容性以及对设备状态的实时监控能力,是构建私有云测试平台的理想选择。
部署环境准备
在开始部署之前,需准备以下软硬件资源:
- 云服务器:推荐使用主流云服务提供商(如阿里云、腾讯云、AWS 或 DigitalOcean),操作系统建议使用 Ubuntu 20.04 或更高版本。
- Android 设备:至少一台 Android 手机,推荐使用 Android 5.0 及以上系统,以获得更好的兼容性。
- USB Hub(可选):用于同时连接多台设备,提升设备利用率。
- Node.js 环境:STF 基于 Node.js 构建,需安装 Node.js 14.x 或更高版本。
- ADB(Android Debug Bridge)工具:用于设备识别与调试,是连接和控制 Android 设备的关键工具。
部署步骤详解
安装基础依赖
首先更新系统并安装必要的依赖组件:
sudo apt update sudo apt install -y git curl wget adb
接着安装 Node.js(以 16.x 版本为例):
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - sudo apt install -y nodejs
安装 STF
使用 npm 安装 STF:
sudo npm install -g stf
配置 USB 设备识别
为了让服务器能够识别连接的 Android 设备,需要配置 udev 规则,可以使用以下命令检查当前环境是否满足要求:
sudo stf doctor
如果提示缺少 udev 规则,可以运行以下命令自动生成配置:
sudo stf local
随后重启 ADB 服务:
adb kill-server adb start-server
启动 STF 服务
启动 STF 的本地服务,并指定公网 IP(如需远程访问):
stf local --public-ip <你的公网IP>
默认情况下,STF 会在本地的 7100 端口运行,若部署在云服务器上并希望支持公网访问,建议配置反向代理(如 Nginx)并开放对应端口。
配置反向代理与域名访问(可选)
为了更便捷地访问 STF,可以配置 Nginx 作为反向代理,示例配置如下:
server { listen 80; server_name stf.yourdomain.com; location / { proxy_pass http://localhost:7100; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }
保存配置后重启 Nginx,即可通过域名访问 STF 平台。
远程访问与使用
部署完成后,只需在浏览器中输入服务器 IP 或绑定的域名即可访问 STF 的管理界面,连接 Android 设备后,系统会自动识别并显示在设备列表中,用户可直接点击设备进行远程操作,包括安装 APK、查看日志、截图、录制操作视频等功能,操作体验接近本地设备。
STF 还支持多人协作、权限管理和设备状态监控,适合团队共同使用。
常见问题与优化建议
- 设备无法识别:请检查 ADB 驱动是否正常、USB 调试模式是否开启,以及 udev 规则是否生效。
- 远程访问卡顿或延迟高:建议提升服务器带宽、使用 SSD 存储介质,或选择更靠近用户的云节点。
- 多用户访问冲突:可通过 STF 提供的用户权限模块进行访问控制,避免资源冲突。
- 设备管理复杂:建议结合 Jenkins、GitLab CI 等持续集成工具,实现自动化测试流程,提高测试效率。
将 STF 部署在云服务器上,不仅能够实现真机测试的远程集中管理,还能显著降低硬件采购和维护成本,尤其适合中小型开发与测试团队,这种模式具备高度的可扩展性和灵活性,是构建自动化测试体系的重要一环。
随着 DevOps 和 CI/CD(持续集成/持续交付)理念的深入普及,STF 与云服务的结合将成为未来移动测试领域的重要趋势,如果你正在寻找一个稳定、可控且成本可控的真机测试平台,不妨尝试搭建属于自己的 STF 云端测试平台,开启高效测试的新篇章。
如需进一步优化部署流程、实现自动化设备接入或集成 CI/CD 流程,欢迎继续提问,我可以提供更详细的扩展方案。