STF本地集成 for Mac
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
安装成功时的样子
Screen Shot 2018-09-21 at 10.35.30 AM.png
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
WeChatWorkScreenshot_886bf1dd-4ba5-467c-ad55-9fecd379c6fe.png无需注册,直接填入name和E-mail即可
7、连接USB本地Android设备
首先获取Android设备号
073C560DB860ED0E0B01C02F10A00ADB.png
将Android设备添加至白名单
echo "0x2717" >> ~/.android/adb_usb.ini
一定要打开Android手机的开发者模式,否则无法挂机设备
打开USB调试及安装,同意安装STFSserver:
7C04336146ADCEB8F8A5FDC59512E8F2.jpg D8B5B1EF4BD8D73F77C3F8EE013D8028.jpg Screen Shot 2018-09-21 at 11.51.05 AM.png Screen Shot 2018-09-21 at 11.21.39 AM.png
如果要指定IP(其他人也能访问)
stf local --public-ip <本机网络IP> --allow-remote