文档首页/ 云手机服务器 CPH/ 最佳实践/ 通过STF批量管理云手机
更新时间:2023-03-16 GMT+08:00

通过STF批量管理云手机

操作场景

STF,全称Smartphone Test Farm,一个开源的web架构应用,用于移动设备管理控制。本质上通过浏览器控制和管理Android设备,实现真正意义的云端使用、调试和测试。本小节通过在一台ECS上部署STF的相关组件,实现快速批量管理云手机的功能。

约束与限制

  • STF实测支持同时管理约160台云手机,更大规模的接入管理需要结合业务进行二次开发。
  • STF可靠运行依赖稳定的网络环境,网络状态不佳时云手机的操作时延会显著增大。

前提条件

  • 已购买一台绑定EIP的云手机服务器。
  • 已购买一台绑定EIP的弹性云服务器。
云手机服务器和弹性云服务器参考以下规格,具体规格可结合业务场景决定。
  • 云手机服务器规格为:physical.kg1.4xlarge.cp | kg1.cp.c60.d16SSD.e1v1
  • 弹性云服务器规格为:通用计算型 | s6.large.2 | 2vCPUs | 4GiB | Ubuntu 18.04 server 64bit(40GB)

操作步骤

在弹性云服务器上部署STF依赖的相关组件,并借助ADB工具连接云手机,最后通过浏览器访问STF的地址,实现云手机的批量管理。

  1. 安装ADB,并验证安装结果。
    sudo apt install android-tools-adb android-tools-fastboot
    adb --version

    正确回显版本即安装成功。

    图1 ADB安装成功
  2. 更新源,然后安装RethinkDB,用于STF数据存储。
    source /etc/lsb-release && echo "deb https://download.rethinkdb.com/repository/ubuntu-$DISTRIB_CODENAME $DISTRIB_CODENAME main" | sudo tee /etc/apt/sources.list.d/rethinkdb.list
    wget -qO- https://download.rethinkdb.com/repository/raw/pubkey.gpg | sudo apt-key add -
    sudo apt-get update
    sudo apt-get install rethinkdb
    rethinkdb -v
    正确回显版本即安装成功。
    图2 RethinkDB安装成功

    RethinkDB官网支持x86架构,对于arm架构仅为实验性支持。

  3. 安装ZeroMQ,用于消息传递。
    sudo apt-get install libzmq3-dev
    图3 ZeroMQ安装成功
  4. 安装Protocol Buffers,作为消息传递的数据格式。
    sudo apt-get install libprotobuf-dev protobuf-compiler
    protoc --version
    正确回显版本即安装成功。
    图4 Protocol Buffers安装成功
  5. 安装GraphicsMagick,用于处理图像的读取、写入和操作。
    sudo apt-get install graphicsmagick
    gm version
    正确回显版本即安装成功。
    图5 GraphicsMagick安装成功
  6. 安装pkg-config,用于编译Nodejs第三方库。
    sudo apt-get install pkg-config
    pkg-config --version
    正确回显版本即安装成功。
    图6 pkg-config安装成功
  7. 安装yasm,用于编译STF的依赖库。
    sudo apt-get install yasm
    yasm --version
    正确回显版本即安装成功。
    图7 yasm安装成功
  8. 安装Nodejs,用于部署STF运行环境。
    ##STF运行只支持Node.js 8.x版本
    curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash  - 
    sudo apt-get install -y nodejs
    node -v
    npm -v
    正确回显版本即安装成功。
    图8 node和npm安装成功
  9. 安装STF。
    sudo npm install -g cnpm --registry=https://registry.npm.taobao.org
    sudo cnpm install -g stf
    stf -V
    正确回显版本即安装成功。
    图9 STF安装成功
  10. 检查STF依赖环境是否满足。
    stf doctor
    正确回显各组件版本即满足。
    图10 STF检测启动环境
  11. 基于ADB连接云手机实例,具体连接方式参考ADB连接
  12. 启动RethinkDB。
    rethinkdb
    回显如图11即启动成功。
    图11 启动RethinkDB
  13. 基于local模式启动STF,并基于浏览器访问。
    ##下方请填写实际的弹性云服务器EIP地址
    stf local --public-ip {EIP地址} --allow-remote
    ##访问方式
    http://{EIP地址}:7100/
    图12 输入STF默认账户和密码
    图13 云手机实例
    图14 云手机控制界面