如何在AWS/Azure上部署STF:构建企业级Android测试农场的终极指南
如何在AWS/Azure上部署STF:构建企业级Android测试农场的终极指南
【免费下载链接】stfControl and manage Android devices from your browser.项目地址: https://gitcode.com/gh_mirrors/st/stf
STF(Smartphone Test Farm)是一款强大的开源工具,允许用户通过浏览器远程控制和管理Android设备。本指南将详细介绍如何在AWS或Azure云平台上部署STF,帮助企业快速构建稳定、可扩展的Android测试农场,实现高效的移动应用测试与设备管理。
📋 准备工作:云平台与环境要求
在开始部署前,确保您的云环境满足以下条件:
- AWS/Azure账户:拥有管理员权限,能够创建EC2/VM实例、配置VPC网络和安全组
- 实例规格:推荐4核8GB内存以上,Storage根据设备数量建议至少50GB SSD
- 操作系统:Ubuntu 18.04/20.04 LTS(推荐)或Debian 10+
- 网络要求:开放以下端口(安全组配置):
- 80/tcp(HTTP)
- 443/tcp(HTTPS)
- 5037/tcp(ADB端口)
- 7100/tcp(STF Web界面)
🔧 核心组件与架构解析
STF采用分布式架构设计,主要包含以下关键组件:
STF系统架构示意图,展示了各组件间的通信流程与数据流向
- Websocket服务:处理实时设备控制数据流
- Triproxy:消息代理,负责组件间通信
- Processor:任务处理核心,管理设备连接
- Provider:设备接入服务,与物理设备通信
- Reaper:资源回收服务,清理无效连接
完整的架构文档可参考项目中的DEPLOYMENT.md文件。
🚀 AWS部署步骤
1. 基础设施准备
- 创建EC2实例(推荐t3.large或更高规格)
- 配置安全组,开放所需端口
- 挂载额外EBS卷用于设备数据存储
- 安装Docker和Docker Compose:
sudo apt update && sudo apt install -y docker.io docker-compose sudo systemctl enable docker && sudo systemctl start docker
2. 获取STF源码
git clone https://gitcode.com/gh_mirrors/st/stf cd stf3. 配置Docker环境
修改docker-compose配置文件,调整资源限制和网络设置:
cp docker-compose.yml.example docker-compose.yml vi docker-compose.yml4. 启动STF服务
docker-compose up -d☁️ Azure部署步骤
1. 创建虚拟机
- 在Azure Portal创建Ubuntu Server VM(推荐D4s_v3规格)
- 配置网络安全组,开放必要端口
- 启用托管磁盘(至少128GB)
2. 安装依赖
sudo apt update && sudo apt install -y git curl adb openjdk-8-jdk curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - sudo apt install -y nodejs3. 安装STF
git clone https://gitcode.com/gh_mirrors/st/stf cd stf npm install4. 启动STF服务
./bin/stf local --public-ip <your-azure-public-ip>🔌 设备连接与管理
成功部署STF后,您可以通过两种方式连接Android设备:
USB连接方式
- 将Android设备通过USB连接到服务器
- 确认ADB识别设备:
adb devices - 在STF Web界面中授权设备接入
网络连接方式
- 确保设备与服务器在同一网络
- 通过ADB命令连接:
adb connect <device-ip>:5555
STF设备管理界面展示,显示已连接设备列表及状态监控
典型设备架构成熟实践
企业级部署推荐采用专用设备支架,确保稳定供电和网络连接:
企业级Android设备测试农场实物图,多台设备通过USB集线器集中管理
💻 远程控制功能体验
STF提供丰富的设备控制功能,包括:
- 实时屏幕镜像与操作
- 应用安装与卸载
- 截图与录屏
- 日志查看(Logcat)
- 网络状态监控
STF远程控制界面展示,可直接在浏览器中操作Android设备
🔍 常见问题与解决方案
1. 设备连接不稳定
- 检查USB线缆和端口是否正常
- 确保ADB版本与设备兼容
- 调整电源管理设置,防止USB端口休眠
2. 性能优化建议
- 增加Processor实例数量:
docker-compose scale processor=3 - 启用Redis缓存:修改配置文件中的Redis连接参数
- 优化网络带宽,建议设备与服务器间延迟低于50ms
3. 安全加固措施
- 启用HTTPS:配置Nginx反向代理并添加SSL证书
- 实现用户认证:集成OAuth2或LDAP(配置文件路径:lib/cli/auth-oauth2/index.js)
- 限制设备访问权限:通过组策略管理用户权限
📈 扩展与集成
STF支持多种扩展方式,满足企业定制需求:
- API集成:通过REST API实现自动化测试(文档:API.md)
- 通知系统:配置Slack/HipChat通知(lib/units/notify/slack.js)
- 存储扩展:对接S3存储服务(lib/cli/storage-s3/index.js)
📝 总结
通过本指南,您已了解如何在AWS或Azure云平台上部署企业级STF测试农场。STF的分布式架构使其能够轻松扩展,支持从几台到数百台设备的管理需求,为移动应用测试团队提供高效、灵活的设备管理解决方案。
如需进一步定制或优化,可以参考项目的官方文档和源代码,根据企业实际需求进行调整。
【免费下载链接】stfControl and manage Android devices from your browser.项目地址: https://gitcode.com/gh_mirrors/st/stf
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
