本文参考以下文章整理:
MAC 下 STF 的环境搭建和运行
一、 前言
STF,全称是Smartphone Test Farm,WEB 端批量移动设备管理控制工具,就是可以用浏览器来批量控制你的移动设备,目前只支持Android设备。
二、环境搭建
1. 安装xcode和xcode 命令行工具
(安装Macport需要)
- Xcode:直接在
App Store
下载安装 - Xcode Command Line Tools:在terminal中输入以下命令,然后在弹出的安装步骤中猛点下一步自动安装。
1 | xcode-select --install |
2. 安装Macport,后面需要用到port
参考:http://www.ccvita.com/434.html
1.1 直接到官网下载安装包进行安装
http://www.macports.org/install.php
1.2 添加环境变量
将/opt/local/bin
和/opt/local/sbin
添加到$PATH
搜索路径中:
1 | vi ~/.bash_profile |
在文件中加入:
1 | export PATH=/opt/local/bin:$PATH |
更新环境变量:
1 | source ~/.bash_profile |
1.3 更新ports tree和MacPorts版本
强烈推荐第一次运行的时候使用-v参数,显示详细的更新过程。
1 | sudo port -v selfupdate |
3. linux的基本包安装
Mac之前有类似环境忽略。
4. SDK环境安装
这里不做详细说明估计都有
- Java
- android 留意安装完成后配置环境变量
5. nodejs安装
1 | node -v |
6. 安装bower
1 | sudo npm install bower -g |
验证:
1 | bower -v |
7. 安装rethinkdb
(这里建议通过pgk安装)
1 | rethinkdb -v |
8. 安装graphicsmagick
1 | sudo port install graphicsmagick |
9. 安装libsodium
(zeromq的依赖)1
sudo port install libsodium
10. 安装zeromp
1 | sudo port install zmq |
11. 安装protobuf
1 | sudo port install protobuf-cpp |
- 不用理会环境变量
12. 安装pkg-config
1 | sudo port install pkgconfig |
13. 安装stf
1 | sudo npm install -g stf |
- 时间应该是看网速,原文中备注会很长,但是我这边很快就安装完成了。
三、运行
1. 运行stf
1.1 启动rethinkdb
在终端中输入以下命令,这时访问浏览器就可以看到rethinkdb的管理界面: http://localhost:8080/
1 | rethinkdb |
成功则会显示下面提示:
这时候访问浏览器可以看到RethinkDB启动好了:
1.2 启动stf
(需新建终端)
1 | stf local --public-ip 本机IP --allow-remote |
如:
1 | stf local --public-ip 192.168.1.102 --allow-remote |
其中--allow-remote
表示允许远程访问。
成功则会显示下面提示,如果已经连接手机,还会有手机信息:
注:官方文档中给的例子实际测试无法访问:stf local
2. 运行客户端
- 浏览器输入
http://localhost:7100/
,只要填入符合规则的登录信息即可:
- 成功,可以实现远程操作啦!
四、效果图
五、其它系统
1. Linux类系统
Linux类的操作系统,如Ubuntu,可参考WEB 端批量移动设备管理控制工具 STF 的环境搭建和运行进行搭建。
2. Windows
Windows下直接安装据说相当麻烦,有很多坑,比较常见的做法是使用虚拟机(如docker)虚拟出一个Linux系统,然后参考上一步的搭建方法进行搭建。
六、使用
1. 远程控制
搭建好环境之后,这就是一台连接着N台Android手机的服务器了(这个服务器可能是放在你们公司某个神秘的地方,一般称为无线实验室),在上图的手机控制界面可以看到:
这时候,在你自己的电脑上(客户端),通过命令行输入adb connect 192.168.1.102:7401
,就可以将自己的电脑连接到远程服务器上的手机真机,就好像手机是连接在自己电脑上一样,你可以在Android Studio中Android Device Monitor上看到手机硬件,可以直接打断点debug。
PS:欢迎关注 SherlockShi 个人博客