简介
openstf GitHub开源地址:https://github.com/openstf/stf
STF(Smartphone Test Farm)是一个Web应用程序,用于从浏览器中远程调试智能手机,智能手表和其他小工具。
功能
1、支持的系统:Android
(1)版本限制:2.3.3 (SDK 版本 10) to 9.0 (SDK 版本 28)
(2)Android Wear 5.1(由于权限问题不支持5.0)
(3)Fire OS, CyanogenMod,基于Android的发行版
(4)当前任何功能都不需要root
2、从浏览器远程控制任何设备
3、管理所有挂机设备
环境要求
Node.js >= 6.9 (首选最新稳定版)
ADB
RethinkDB >= 2.2
GraphicsMagick (用来调整屏幕截图的大小)
ZeroMQ (自带安装,无需另行安装)
Protocol Buffers (自带安装,无需另行安装)
yasm (自带安装,无需另行安装 [为了编译 libjpeg-turbo])
pkg-config (安装后Node.js就可以找到自带库)
安装
1、通过brew安装依赖:
brew install rethinkdb graphicsmagick zeromq protobuf yasm pkg-config
2、目前仅提供Mac OS安装方式,不提供Windows环境安装
3、安装stf
npm install -g stf
到这里,开始各种报错了
比如:make: *** [Release/obj.target/bufferutil/src/bufferutil.o] Error 1
解决方法:
(1)清除缓存
npm cache clean --force
(2)将node版本降至 8.1.1
关于node版本管理工具nvm
4、安装完成后,检查下是否安装成功了
stf doctor
5、下载NPM 和 Bower模块
先下载或者clone sft项目到本地,终端cd 到目标文件夹,一次执行命令行
npm install
npm link
启动
6、开启服务
rethinkdb
因为默认端口是8080,我已经有其他服务被占用,所以另开一个端口
rethinkdb --bind all --http-port 9090
然后再开启一个终端,执行:
stf local
访问sft本地链接:http://localhost:7100/#!/devices
登录页面无需注册,直接填入name和E-mail即可
使用
7、连接USB本地Android设备
首先获取Android设备号
将Android设备添加至白名单
echo "0x2717" >> ~/.android/adb_usb.ini
一定要打开Android手机的开发者模式,否则无法挂机设备
打开USB调试及安装,并且同意安装STFSserver
成功连接到测试设备后,在STF监控页面可看到该设备在线状态以及其基本信息
选择指定设备后,即可通过浏览器进行设备上的模拟操作
如果要指定IP(其他人也能访问)
stf local --public-ip <本机网络IP> --allow-remote