STF(Smartphone Test Farm)是一个手机设备管理平台(仅支持Android),可以对手机进行远程管理、调试、远程手机桌面监控等操作。这个系统类似于目前很流行的云测服务比如Testin,虽然网页上提供的设备很像模拟器中的设备,但是实际上都是真机。
输入地址:http://xx.x.xx.xx:7100 打开登录界面,然后输入用户名和邮箱即可登录
在STF主菜单点击选择 Devices
然后在设备列表选择可以使用的设备,Status
为Use
状态的表示空闲可使用,点击Use
即可使用。
Control
界面,可以使用鼠标实时操作设备。Logs
选项中的Get
按钮,然后选择日志级别App Upload
即可加载待安装的包adb
工具,然后在STF界面找到Remote Debug
复制远程连接地址,远程地址格式为:ip+port
如下图所示:adb devices
查看设备是否挂载成功。断开设备使用 命令 adb disconnect ip+port
首先要在手机上能安装谷歌服务,可以使用Go谷歌安装器进行安装
Chrome
浏览器,拨通VPN
adb connect xxxx:xx
App
内H5
页面,然后打开Chrome
浏览器,输入地址: chrome://inspect/#devices
inspect
即可打开调试页面STF
提供了相关的接口,可以远程调用,比如申请设备,查看设备使用状态,释放设备,连接设备等等,使用这些接口首先需要创建Token
和ADBKey
,创建方法如下:
Keys Tab
栏,点击+
按钮输入key
的名称自动生成token
ADBKeys
栏中将本地的adbkey.pub
中的值复制到输入框中,然后点击保存即可。假设设备测试 Serial
为c70dacf1
生成的 token
为: baafca0e3f10412bb8d2d292ac0bcf1xxxxxxxxxxxxxxxx
接口调用方式如下:
// 获取所有设备 c70dacf1 为设备的 serial 字段
curl -H "Authorization: Bearer baafca0e3f10412bb8d2d292ac0bcf1caa113f63101xxxxxxxxxxxxxxx" http://172.31.33.135:7100/api/v1/devices
//获取单个设备信息
curl -H "Authorization: Bearer baafca0e3f10412bb8d2d292ac0bcf1caa113f6310144a73a37xxxxxxxxxxxxb" http://172.31.33.135:7100/api/v1/devices/c70dacf1
//返回那些设备在被那些用户使用
curl -H "Authorization: Bearer baafca0e3f10412bb8d2d292ac0bcf1caa113f6310144a73a37xxxxxxxxx" http://172.31.33.135:7100/api/v1/user/devices
// 申请一台移动设备
curl -X POST --header "Content-Type: application/json" --data '{"serial":"c70dacf1"}' -H "Authorization: Bearer baafca0e3f10412bb8d2d292ac0bcf1caa113f6310144a73xxxxxxxxxxxxx" http://172.31.33.135:7100/api/v1/user/devices
返回: {"success":true,"description":"Device successfully added"}
//归还一台设备
curl -X DELETE -H "Authorization: Bearer baafca0e3f10412bb8d2d292ac0bcf1caa113f6310144a7xxxxxxxxxxxx" http://172.31.33.135:7100/api/v1/user/devices/c70dacf1
返回 {"success":true,"description":"Device successfully removed"}
//获取远程测试地址
curl -X POST -H "Authorization: Bearer baafca0e3f10412bb8d2d292ac0bcf1caa113f6310144a7xxxxxxxxxxxxxxxx" http://172.31.33.135:7100/api/v1/user/devices/c70dacf1/remoteConnect
返回 {"success":true,"remoteConnectUrl":"172.31.33.135:7409"} ,remoteConnectUrl 返回给测试调用方法,用续appium通过该地址进行测试
设备使用完成后,一定要释放设备,否则其他人无法使用。释放方法:点击Devices
菜单,然后点击设备上的Stop Using
即可