一、简介
       由于公司研发体系人员众多而且业务方面又涉及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操控运行原理

  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

#启动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 该作者总结

搭建STF远程真机操控环境相关推荐

  1. Xcode搭建真机调试环境 图文实例

    Xcode搭建真机调试环境 是本文要介绍的内容,不多说,我们之间进入主题,在Xcode 3.2.5(我用的版本)中,可以简化步骤.注:最好在Safari上完成下面步骤,因为在其它浏览器上可以不到正常上 ...

  2. IDA真机调试环境搭建及原理

    IDA真机调试环境搭建及原理 如果想脱壳,使用IDA调试so文件是不可避免的.工欲善其事必先利其器,本文将详细介绍IDA调试的环境准备以及操作的步骤和原理,尽量做到知其然知其所以然. 手机环境 1) ...

  3. Appium移动端自动化测试--搭建模拟器和真机环境一

    目录 模拟器--安装Android Studio及Android SDK 模拟器--更改VDM默认存储路径 真机(Android)环境设置 真机--开启开发者模式 真机-- 打开USB调试 真机连接- ...

  4. 移动端自动化测试appium(6)--搭建模拟器和真机环境

    模拟器–安装Android Studio及Android SDK 推荐直接安装Android Studio,然后使用Android Studio安装SDK. 启动SDK Manager,安装自己所需要 ...

  5. 关于Remote testkit远程真机调试平台

    简介 Remote Testkit是由日本电信株式会社旗下的NTT Resonant旗下的云测平台.其前身是基于Perfecto mobile架构的Docomo远程真机和katomakku远程真机平台 ...

  6. 三星android测试机,三星远程真机调试介绍

    三星远程真机调试介绍 开发者经常会遇到由于身边没有手机,无法理解.复现问题,解决问题无从下手的挠头时刻,为了帮助开发者解决这个痛点,三星远程开发测试平台为开发者提供了远程真机调试服务.三星远程真机调试 ...

  7. android studio 远程调试,Unity3D学习笔记——Android远程真机调试(Unity Remote)

    前言:当使用Unity开发移动端的游戏,特别是使用到手机的传感器,如重力感应等,调试的时候,很麻烦, 因为每次都需要编译成APK后安装到手机中测试,而Unity Remote便能很好的解决这个问题,U ...

  8. 阿里云emas远程真机使用指南

    本文介绍申请远程真机以及在远程真机上执行测试任务的详细操作,包括申请远程真机.安装应用.扫码.定位.性能测试等. 前提条件 已购买远程真机资源包,或使用量未超过免费阈值.具体说明及操作请参见产品定价. ...

  9. DevEco IDE 华为全系列远程真机免费调测

    DevEco IDE 华为全系列远程真机免费调测 各位安卓开发小伙伴有没有和小编一样碰到以下问题: 1.想在最新华为旗舰手机上调试应用而手头没有: 2.华为手机型号众多,刚好遇到一个bug需要调试却发 ...

最新文章

  1. 右键菜单打开文件所在文件夹的插件EasyExplore
  2. opencvsharp_基于轮廓的形状匹配中匹配坐标与旋转角度
  3. hdu5249KPI动态中位数(两个set)
  4. linux tomcat 突然验证码出不来
  5. 怎样将employee 加到Territory里
  6. 区块链中涉及到密码学的场景
  7. 《信号与线性系统分析》学习心得
  8. Markdown对图片进行缩放
  9. 计算机实习生听课记录,舞蹈课实习听课记录
  10. 爬虫代理IP产品如何选择
  11. 去掉鼠标右键文件时的“百度一下这个文件”菜单命令
  12. 如何用工具自动修复数字IC后端设计实现绕线后的Physical DRC_
  13. RxSwift极简入门
  14. 《巴巴拉少校》读书笔记优秀范文2877字
  15. electron打开系统默认浏览器
  16. 计算机视觉学习路线—计算机视觉入门必读的20本书
  17. Odoo14问题总结——模块视图不显示
  18. [CC-TRIPS]Children Trips
  19. 手机免费上网时代已经到来
  20. 使用ffmpeg制作时光影集

热门文章

  1. js等待加载转圈圈效果
  2. HTML+CSS实现百度网盘首页
  3. 银联收单清算体系及处理流程
  4. 最强内存稳定性测试软件,内存稳定性测试软件TM5
  5. 题目 1097: 蛇行矩阵 题解
  6. 从二维到三维,可见Web3D技术的重要性,让线上3D产品展示所见即所得
  7. 记录一次app崩溃信息调试
  8. js中excel模板下载
  9. 科学与社会 ——摘自《爱因斯坦晚年文集》
  10. maximo附件WebSphere环境下配置