多设备管理平台 OpenSTF
多设备管理平台 OpenSTF
1. 简介
OpenSTF 是一个手机设备管理平台,可以对手机进行远程管理、调试、远程手机桌面监控等操作。它使用 NodeJS 和 AngularJS 开发,遵循 Apache Licene2.0 开源协议。
移动端测试需要不同型号的设备,如果为每个测试人员都分配移动设备,则需要成本开销,OpenSTF 可以实现人机分离,远程对设备进行控制,解决了多设备共用的问题。
Github 地址:https://github.com/openstf/stf
主要有以下功能
- 在 Web 上管理多个 Android 设备。
- 支持 Android 多个版本(2.3.3 ~ 8.0),而且不需要 Root。
- 实时屏幕操作和显示。
- 支持 adb connnect 远程连接调试。
- 可以从 PC 机键盘输入到远程的 Android 设备中。
- 安装卸载 APK。
- Android 设备信息的展示(如:网络状态、MIME、Android 版本、手机型号等等)。
- 远程开关机、远程开关 WIFI、截屏、LogCat 等等。
2. 环境安装
MacOS 安装可参考官网,下面介绍 Docker 安装。
2.1 拉取 STF 相关镜像
#拉取STF镜像 $docker pull openstf/stf:latest #拉取adb镜像 $docker pull sorccu/adb:latest #拉取rethinkdb镜像 $docker pull rethinkdb:latest
2.2 查看拉取下来的镜像
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE openstf/stf latest f6be63eb6095 5 months ago 772 MB rethinkdb latest 49dd328850eb 6 months ago 182 MB sorccu/adb latest 7123ee61b746 11 months ago 30.4 MB
2.3 启动镜像
启动数据库 rethinkdb
docker run -d --name rethinkdb -v /srv/rethinkdb:/data --net host rethinkdb rethinkdb --bind all --cache-size 500 --http-port 8090
启动 adb service
docker run -d --name adbd --privileged -v /dev/bus/usb:/dev/bus/usb --net host sorccu/adb:latest
启动 STF
docker run -d --name stf --net host openstf/stf stf local --allow-remote
2.4 登录 STF
在浏览器地址栏输入 http://localhost:7100 即可进入登陆界面,输入用户名和密码后即可进入:
3. 使用
连接移动设备后就可以在 STF 页面进行操作,操作过程完全模拟手机,没有任何难点,也可以在功能区实现快捷操作,比如利用浏览器打开一个网址,输入 Shell 命令,安装 App 等等。
4. 案例
STF 可以实现远程操控手机,当手机与主机处于同一网段时,主机就可以远程连接并控制手机,确保手机打开发者模式并允许 USB 调试,首先获取移动设备的 IP(192.168.31.109):
用数据线将设备接连到电脑,在电脑的命令行输入adb tcpip 5555,让手机打开 5555 端口,然后使用ifconfg命令,查出主机的 IP 为:192.168.31.255,发现处于同一网段,可以进行远程连接:
拔掉数据线,在命令行输入 adb connect 命令进行远程连接,比如
$ adb connect 192.168.31.109:5555 connected to 192.168.31.109:5555
当出现 connected...时,说明连接成功,打开 STF 网址,发现出现设备并且可以远程调试:
小结
以上,我们熟悉了多设备管理平台 STF 的使用。接下来了解跨平台设备管理方案 SeleniumGrid。
<p> 专刊包含了10+年经验测试架构师对测试职业发展的深度解读 帮助你掌握当下 BAT 流行的 App 自动化测试技术基础技能和工具使用;以及从入门到进阶的自动化测试实战经验,在面试中能够脱颖而出。 本专刊购买后即可解锁所有章节,故不可以退换哦~ </p> <p> <br /> </p> <p> <br /> </p>