搭建STF远程真机操控环境
一、简介
由于公司研发体系人员众多而且业务方面又涉及C/S端的产品,因此频繁互借测试手机是一个问题,测试手机资源有限,借了由于工作忙而忘了归还,为此引入开源框架STF来解决这一问题,将有限的资源达到最大化的输出。
二、介绍STF及优劣势分析
- STF是一款开源的远程真机管理平台,GitHub地址:https://github.com/openstf/stf
- STF框架类比于目前市场上比较火的wetest、testin等远程真机管理平台
- 官网地址:https://openstf.io/
优势:
1.支持安卓2.3-9.0系统(9.0系统为目前最新)
2.支持远程键鼠对真机进行操作
3.远程复制粘贴功能(目前wetest平台不支持)
4.快照截图
5.应用包及文件的上传/下载功能
6.支持远程端浏览器进行真机访问操作
7.日志输出及错误日志输出打印
8.脚本运行(可实现后续的自动化测试)
9.开发人员进行远程debug功能
10.操作快捷、反应迅速
11.获取设备的硬件信息,及实时监控设备健康状况
劣势:
1.仅支持安卓手机远程控制,iOS不支持
2.对网络及带宽要求较高(无须考虑)
三、STF操控运行原理
- 手机打开开发者模式,打开USB调试功能,stf会自动检测到手机并安装stf应用软件
- 服务器自动加载stream.js文件,初始化一个websocket server会话实例,建立与web端的信息通讯
- 若手机截图同步minicap调试工具会初始化一个frameproducer实例,通过2步骤建立的会话进行数据流传输到web端
四、STF部署依赖包
- 根据GitHub文档要求,启动STF环境必须要依赖于以下几个组件安装并设置对于的环境变量
要求:
1.安卓sdk
2.Node.js环境
3.RethinkDB
4.GraphicsMagick
5.ZeroMQ
6.yasm
7.libsodium
8.protobuf
9.pkg-config
10.stf
五、搭建步骤(以centos7为例)
1.安装STF之前先确保必备的基础环境,如下:
1.安装JDK、GCC环境,并设置好环境变量
2.保证服务器下能够运用unzip、wget等基础命令,若没有 yum install unzip/wget自行安装
2.安装安卓SDK并配置环境变量
#下载sdk-tools压缩包
wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip
#解压SDK包
unzip sdk-tools-linux-3859397.zip
#设置SDK环境bianl
vi /etc/profile
export PATH=$PATH:包路径/tools/bin
#运行source生效设置的环境变量
source /etc/profile
#校验SDK环境变量是否生效
sdkmanager --list
#生效后,安装platform-tools,可用sdkmanager --list查看是否安装
sdkmanager "platform-tools"
#设置platform的环境变量
export PATH=$PATH:包路径/platform-tools
sourc /etc/profile
#校验环境变量是否生效
adb --version
3.安装node环境
#安装node压缩包
wget https://nodejs.org/download/release/v9.0.0/node-v9.0.0-linux-x64.tar.gz
#解压node包
tar xvf node-v9.0.0-linux-x64.tar.gz
#软连接到/usr/local/bin目录下,生效node,npm命令
ln -s 包路径/node-v9.0.0-linux-x64/bin/node /usr/local/bin/node
ln -s 包路径/node-v9.0.0-linux-x64/bin/npm /usr/local/bin/npm
#校验环境是否生效
node -v
npm -v
4.安装rethinkdb环境
#由于我的yum源没有该rethinkdb包源地址,必须要将rethinkdb加载到yum源中
wget http://download.rethinkdb.com/centos/7/`uname -m`/rethinkdb.repo -O /etc/yum.repos.d/rethinkdb.repo
#执行yum安装rethinkdb
yum install rethinkdb
#校验是否安装成功
rethinkdb -v
5.安装GraphicsMagick环境
#安装压缩包
wget https://iweb.dl.sourceforge.net/project/graphicsmagick/graphicsmagick/1.3.26/GraphicsMagick-1.3.26.tar.gz
#包解压
tar xvf GraphicsMagick-1.3.26.tar.gz
#由于该包是源码包安装依赖于GCC环境,需要centos环境有GCC才行否则报错
yum install gcc(有可跳过)
./configure
make && make install
#校验是否安装成功
gm
6.安装yasm环境,同上类似操作
#安装包地址
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar xvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure
make
make install
#校验环境是否安装成功
yasm --version
7.安装libsodium环境,同上类似操作
#安装包地址
wget http://download.libsodium.org/libsodium/releases/libsodium-1.0.18.tar.gz
tar xvf libsodium-1.0.18.tar.gz
./configure
make
make install
#校验环境是否安装成功
whereis libsodium
8.安装zeromq环境**(这块要按照我这个思路去安装,参照网上教程是有问题的)**
#安装zeromq
npm install zmq --unsafe-perm
9.安装protobuf环境,同上类似操作
#安装包地址
wget https://github.com/google/protobuf/releases/download/v3.5.0/protobuf-cpp-3.5.0.tar.gz
./configure --prefix=包路径/protobuf
#设置环境变量
export PATH=$PATH:包路径/protobuf/bin/
export PKG_CONFIG_PATH=包路径/protobuf/lib/pkgconfig/
#启动source生效环境变量
source /etc/profile
protoc --version
10.安装pkg-config环境,同上类似操作
#安装包地址
wget http://pkgconfig.freedesktop.org/releases/pkg-config-0.29.2.tar.gz
tar xvf pkg-config-0.29.2.tar.gz
cd pkg-config-0.29.2
./configure --prefix=/usr/local/pkg-config --with-internal-glib
make
make install
#校验环境是否生效
pkg-config --version
11.stf安装
#安装stf
npm install -g stf
#到指定stf目录
cd 包路径/node/node-v9.0.0-linux-x64/lib/node_modules/stf/bin
#检查健康状况
./stf doctor
若出现报错:libzmq.so.5 No such file
解决方案:
由于安装zeromq是通过npm安装,执行:
find / -name libzmq.so.5 命令找到该文件路径
cd /usr/local/lib (libzmq.so.5目标目录下)
ldconfig
12.再次检查环境./stf doctor
#启动rethinkdb服务
rethinkdb &
#启动stf
cd 包路径/node/node-v9.0.0-linux-x64/lib/node_modules/stf/bin
#后台启动
nohup stf local --public-ip 192.168.6.49 --allow-remote &
13.在公司局域网内电脑访问http://192.168.6.49:7100
本文搭建stf环境心得来源于:https://www.jianshu.com/p/539ee1053da3 该作者总结
更多推荐
所有评论(0)