天天看點

搭建STF遠端真機操控環境

一、簡介

       由于公司研發體系人員衆多而且業務方面又涉及C/S端的産品,是以頻繁互借測試手機是一個問題,測試手機資源有限,借了由于工作忙而忘了歸還,為此引入開源架構STF來解決這一問題,将有限的資源達到最大化的輸出。

二、介紹STF及優劣勢分析

  • STF是一款開源的遠端真機管理平台,GitHub位址:https://github.com/openstf/stf
  • STF架構類比于目前市場上比較火的wetest、testin等遠端真機管理平台
  • 官網位址:https://openstf.io/
    搭建STF遠端真機操控環境

優勢:

1.支援安卓2.3-9.0系統(9.0系統為目前最新)

2.支援遠端鍵鼠對真機進行操作

3.遠端複制粘貼功能(目前wetest平台不支援)

4.快照截圖

5.應用包及檔案的上傳/下載下傳功能

6.支援遠端端浏覽器進行真機通路操作

7.日志輸出及錯誤日志輸出列印

8.腳本運作(可實作後續的自動化測試)

9.開發人員進行遠端debug功能

10.操作快捷、反應迅速

11.擷取裝置的硬體資訊,及實時監控裝置健康狀況

劣勢:

1.僅支援安卓手機遠端控制,iOS不支援

2.對網絡及帶寬要求較高(無須考慮)

三、STF操控運作原理

搭建STF遠端真機操控環境
  1. 手機打開開發者模式,打開USB調試功能,stf會自動檢測到手機并安裝stf應用軟體
  2. 伺服器自動加載stream.js檔案,初始化一個websocket server會話執行個體,建立與web端的資訊通訊
  3. 若手機截圖同步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

搭建STF遠端真機操控環境
#啟動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遠端真機操控環境
搭建STF遠端真機操控環境
本文搭建stf環境心得來源于:https://www.jianshu.com/p/539ee1053da3 該作者總結

繼續閱讀