• 【转】Smartphone--Android真机管理平台


    背景

    最近在工作中发现几个问题:

    • 作为测试人员,在做产品兼容性测试时,发现手上的测试设备总是不够用,但是可能其他同事的设备在闲置着;
    • 作为Android和H5开发人员,如果测试同事发现一个兼容性的bug,要想还原场景,还要把测试设备给开发(如果不在一个楼层,还要来回跑)
    • 作为产品和运营人员,为了体验产品,也要去申请测试设备,但是大部分时间,设备是闲置的。

    在这样一个背景下,我在想有没有一个平台,可以把整个公司的线下Android测试设备,通过Web端进行线上远程管理控制,类似于模拟器(当然它是真机),在你的本地电脑进行操作,这样不仅能充分利用测试设备,而且还节省公司购买测试设备的开支。 
    基于这个理念,我大量查阅google,baidu,发现真的老外已经开发好了这样一个平台,而且还开源啦。 
    官方主页:https://openstf.github.io/ 
    github地址:https://github.com/openstf/stf

    该平台可以把整个公司的线下Android设备集合在一起,通过Web端进行线上远程管理控制,在你的本地电脑进行操作,不仅提高测试设备的利用率,还节省公司购买测试设备的开支。

    展示下官网的效果图: 
    这里写图片描述
    这里写图片描述


    平台优点:

    • 大大提高线下设备的利用率,节省公司购买测试设备的开支
    • 线下真机能做的,它都可以做,包括在线拍照,截图
    • 可以进行远程调试

    适用人群:

    测试工程师 
    Android工程师 (真机调试) 
    前端H5开发工程师 (真机调试) 
    产品和运营 (产品体验)


    环境搭建

    由于本人的办公电脑是Mac,现在就基于Mac OS X系统搭建环境(Linux环境和Windows环境应该类似)

    1. JDK和Android SDK环境安装

    JDK下载:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 
    SDK下载:https://developer.android.com/studio/index.html

    配置环境变量并保存

    export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home 
    export ANDROID_HOME=/Users/CharlieChen/Library/Android/sdk
    export PATH=$PATH:$JAVA_HOME/bin:$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools
    • 1
    • 2
    • 3

    2. nodejs安装

    因为该平台是通过nodejs语言写的,所以必须安装nodejs的运行环境。 
    https://nodejs.org/download/ 下载nodejs安装包,解压并控制台进入目录安装

    2. 安装Bower

    控制台执行npm命令进行Bower安装并等待完成 
    npm install bower -g 
    验证安装是否成功:bower -v 如果可以显示版本号 证明成功

    3. 安装RethinkDB

    rethinkDB为平台的数据库,存储的用户和设备的信息,可能大家只对Mysql 或mangoDB熟悉,但这没关系,先安装再说,至于原理后面有时间再去了解。 
    先下载rethinkdb安装包:http://download.rethinkdb.com/osx/ 
    双击rethinkdb-2.0.4.dmg 安装.pkg包即可 
    验证安装是否成功:rethinkdb -version 如果可以显示版本号 证明成功

    4. 安装GraphicsMagick

    brew install graphicsmagick

    如果发现brew命令不可用,说明你的电脑没有装brew的环境,装一下就可以啦

    5. 安装libsodium(zeromq的依赖)

    brew install libsodium

    6. 安装zeromq

    brew install zmq

    7. 安装protobuf

    brew install protobuf

    8. 安装pkg-config

    brew install pkgconfig

    修改环境变量: 
    添加如下信息: 
    export PATH=$PATH:/usr/local/Cellar/protobuf/2.6.1/bin/ (请以本地下载路径为准) 
    export PKG_CONFIG_PATH=/usr/local/Cellar/protobuf/2.6.1/lib/pkgconfig/ (请以本地下载路径为准)

    9. 安装stf

    sudo npm install -g stf


    Smartphone服务端运行

    1. 启动rethinkDB

    安装完成后,打开单独的控制台,运行命令等待服务启动完成: 
    rethinkdb 
    这里写图片描述

    2. 启动stf服务端

    打开一个单独的控制台,运行命令等待服务启动完成: 
    stf local 
    如果要远程登录平台的话,需要增加本地服务器的ip地址 
    stf local –public-ip 本机IP 
    这里写图片描述


    Smartphone客户端运行

    在浏览器中输入地址:http://本机ip:7100/ 访问客户端。 
    输入用户名和邮箱登录即可开始使用。 
    登录界面: 
    这里写图片描述

    设备列表界面: 
    这里写图片描述

    设备使用界面: 
    这里写图片描述


    Smartphone二次改造

    你可以根据公司的需求,进行Smartphone平台的二次开发。可能大家发现了我的平台登录界面换成了我公司的logo,设备使用界面,增加了shell脚本和远程调试等等。。 
    这个就不一一讲了,后面有时间再设一个专题详细讲解。

  • 相关阅读:
    多线程单例模式之立即加载(饿汉模式)
    多线程单例模式之延迟加载(懒汉模式)
    java多线程之ThreadLocal
    java多线程的字符流与字节流
    java多线程生产者消费者
    深入理解多线程三
    深入理解多线程二
    深入java多线程一
    mybatis学习三
    mybatis学习二
  • 原文地址:https://www.cnblogs.com/yanghj010/p/7833126.html
Copyright © 2020-2023  润新知