在 Ubuntu 下安装 STF
STF (Smartphone Test Farm) 是 GitHub 上的一个开源项目(https://github.com/openstf/stf),是一个通过浏览器来控制、调试手机的 WEB 软件。只需要一台 Linux 服务器和数台手机,就可以通过浏览器远程操作这些手机了。对于一个公司的测试部门来说,STF 可以有效解决手机多、难以管理的问题。
STF 可以直接通过 NPM 安装,或者也可以通过 Docker 来安装。本文只提供 NPM 安装的方法,关于 Docker 的,可以参考这篇文章 STF 开发环境搭建与制作 docker 镜像过程。本文使用的Ubuntu 版本为 14.04 LTS。
具体步骤
环境要求
根据 STF 官方文档,环境需求如下:
- Node.js >= 0.12
- ADB properly set up
- RethinkDB >= 2.2
- GraphicsMagick (for resizing screenshots)
- ZeroMQ libraries installed
- Protocol Buffers libraries installed
- yasm installed (for compiling embedded libjpeg-turbo)
- pkg-config so that Node.js can find the libraries
下面会介绍下每个组件的安装方法。为了方便,这里全部使用 apt-get install
命令安装,而不使用自编译的方法。
1. Node.js
Ubuntu 14.04 下直接用 sudo apt-get install nodejs
获取的 Node.js 版本较低,因此这里使用 Node.js 官方提供的方法安装:
1 | curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash - |
这样安装完后,NPM 也一并安装了。
2. ADB
adb 可以将 Android SDK 的路径加到 PATH 中,也可以直接安装:
1 | sudo apt-get install android-tools-adb |
3. RethinkDB
RethinkDB 是 STF 服务的数据库,安装方法为:
1 | source /etc/lsb-release && echo "deb http://download.rethinkdb.com/apt $DISTRIB_CODENAME main" | sudo tee /etc/apt/sources.list.d/rethinkdb.list |
4. GraphicsMagick
这个直接 apt-get install
就行了:
1 | sudo apt-get install graphicsmagick |
5. ZeroMQ
这个也是直接 apt-get install
就行了:
1 | sudo apt-get install libzmq3-dev |
6. Protocol Buffers
这个也是直接 apt-get install
就行了:
1 | sudo apt-get install libprotobuf-dev |
7. yasm
这个也是直接 apt-get install
就行了:
1 | sudo apt-get install yasm |
8. pkg-config
这个 Ubuntu 14.04 已经自带了,如果需要手动安装,还是 apt-get install
就行了:
1 | sudo apt-get install pkg-config |
9. g++
这个是 STF 文档里没有提到的,Ubuntu 14.04 也不自带,但没有这个,后面安装 STF 会出问题:
1 | sudo apt-get install g++ |
安装
当上面的环境全部配置完成后,就可以开始安装 STF 了:
1 | sudo npm install -g stf |
默认安装位置是 /bin/lib/node_modules/stf
或 /bin/local/lib/node_modules/stf
。
运行
首先运行 RethinkDB:
1 | rethinkdb |
然后运行 STF:
1 | stf local |
或
1 | stf local --public-ip <your_internal_network_ip_here> |
之后就可以通过 http://localhost:7100
或 http://<your_internal_network_ip>:7100
来访问了。
当然,你也可以使用 nohup &
的方式运行,这样就不用一直开着终端了。
更新
再次执行安装命令即可:
1 | sudo npm install -g stf |
如果存在问题,把 stf 目录删除再执行上面命令即可。