在 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 官方文档,环境需求如下:

下面会介绍下每个组件的安装方法。为了方便,这里全部使用apt-get install命令安装,而不使用自编译的方法。

1、Node.js

Ubuntu 14.04 下直接用sudo apt-get install nodejs获取的 Node.js 版本较低,因此这里使用 Node.js 官方提供的方法安装:

1
2
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
sudo apt-get install -y nodejs

这样安装完后,NPM 也一并安装了。

2、ADB

adb 可以将 Android SDK 的路径加到 PATH 中,也可以直接安装:

1
sudo apt-get install android-tools-adb

3、RethinkDB

RethinkDB 是 STF 服务的数据库,安装方法为:

1
2
3
4
source /etc/lsb-release && echo "deb http://download.rethinkdb.com/apt $DISTRIB_CODENAME main" | sudo tee /etc/apt/sources.list.d/rethinkdb.list
wget -qO- https://download.rethinkdb.com/apt/pubkey.gpg | sudo apt-key add -
sudo apt-get update
sudo apt-get install rethinkdb

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:7100http://<your_internal_network_ip>:7100来访问了。

当然,你也可以使用nohup &的方式运行,这样就不用一直开着终端了。

更新

再次执行安装命令即可:

1
sudo npm install -g stf

如果存在问题,把 stf 目录删除再执行上面命令即可。

如果你喜欢我的文章,欢迎打赏。