STF移动测试云平台搭建
一. STF介绍
Smartphone Test Farm(简称STF)是一个web应用程序,主要用于从指定的浏览器中远程调试智能手机、智能手表等,可远程调试超过160多台设备。STF可以便捷的管理移动测试设备,提高测试机的高效使用、便捷移动测试。
二.STF的功能
- 支持安卓2.3-10.0系统(10.0系统为目前最新)
- 通过浏览器远程控制,支持远程鼠标键盘对真机进行操作
- 远程复制粘贴功能
- 快照截图
- 应用包及文件的上传/下载功能
- 支持远程端浏览器进行真机访问操作
- 日志输出及错误日志输出打印
- 脚本运行(可实现后续的自动化测试)
- 开发人员进行远程debug功能
- 提供设备机的CPU,内存,电量等性能的监测
- 固化测试机器的系统版本,系统设置,不被篡改
三.架构介绍
STF的核心功能可以理解为:“同步图像” + “点击”。前者使用minicap完成,后者依赖minitouch。
设备端
- STF在会在android设备上安装minicap和minitouch。使用minicap来捕获屏幕,使用minitouch来触发多点触控事件,并通过adb使用socket在服务端和设备端进行数据传输。
- STF还会在android设备上安装STFService.apk,它在设备后台运行,提供了一组socket api可以用来监控和执行不同的action。 同理,它也是通过adb和服务端通信,不过它使用的是protocal buffer数据格式。
- minirev,直接从Android设备的端口转发本地服务,即便不在一个网段。
服务端
- STF的服务端由多个不同的独立的,基于nodejs的微服务组成,这些服务之间是通过ZeroMQ通信。服务端可以进一步分成Provider 层和Application层。
Provider
- Provider层(stf-provider)主要负责和设备之间进行通信。
- 通过adb来监控设备状态,当有新的设备连接,或者有设备断开则会立刻监控到。
- 如果是新的connect设备,则provider会folck一个新的nodejs进程(stf-device), 这个进程主要负责与该设备的所有通信。
- stf由两个部分组成,分别是stf-provider和adb。
- 需要注意的是,provider层的服务需要跑在物理机上,所有的设备需要连着这台物理机。
Application
- Application层则是由stf -api、stf -app和stf -auth等微服务组成,这些微服务组成了一个完整的STF。
- 从部署的角度来看,这些服务可以跑在任意地方,唯一的要求就是,这些服务能够通过网络和provider通信,这也就是意味着他们需要在同一个网段上。
Client 层
- 使用Angular JS实现
- 通过websocket与服务进行通信
四.环境搭建
(1)安装docker服务
- 进入docker官网下载对应docker安装包进行安装
- 命令行执行docker version检查是否安装成功
(2)利用docker拉取镜像文件
- 开启docker服务
- 拉取docker镜像文件
docker pull devicefarmer/stf:latest
docker pull sorccu/adb:latest
docker pull rethinkdb:latest
docker pull openstf/ambassador:latest
docker pull nginx:latest
(3) 启动容器
- 先启动一个数据库
docker run -d --name rethinkdb -v /srv/rethinkdb:/data --net host rethinkdb rethinkdb --bind all --cache-size 8192 --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 --public-ip 宿主机IP地址
(4) 启动STF程序
- 首先进入stf镜像目录
docker exec -it stf的containerID /bin/sh
- 启动stf命令
stf local --public-ip 宿主机IP地址 --allow-remote
启动之后,局域网浏览器输入 http://宿主机IP地址:7100 可以打开STF登录界面,随意输入帐号邮箱后登录
STF移动测试云平台搭建相关推荐
- 物联网iot私有云平台搭建
物联网iot私有云平台搭建 物联网的平台有多种,把其中的一些列出一个开源平台比照表. IoT 软件平台 设备管理? 集成 安全 数据收集协议 分析 支持可视化? 数据库 Kaa IoT Platfor ...
- OpenStack云平台搭建(3) | 部署Glance
目录 1.登录数据库授权 2.安装glance 3.测试一下 安装部署Glance镜像服务 Image Service 镜像服务: 代号:Glance: 为云平台虚拟机提供镜像服务,例如:上传镜像. ...
- Jmeter性能测试云平台搭建
本篇文章主要讲解Jmeter性能测试云平台搭建,这是我们在进行DevOps云平台中性能测试一部分,后期结合docker容器技术进行集群的动态扩展.
- 云安全:Cloudstack云平台搭建详解及经验总结
前言: 正在学习云安全,不搭建云平台,总感觉学的有些虚,没落到实处.在网上查资料了解到,Cloudstack产品比较成熟,已经有成熟的企业应用.而且相对OpenStack配置没那么复杂,所以就先从简单 ...
- 云计算 openstack 云平台搭建详细教程(基于 Vmware 虚拟机搭建)
OpenStack 和 云计算 1.OpenStack 基本概述 早在1988年,类似云计算概念的"网络就是计算机"概念就被 SUN 微系统公司 的合作创建者约翰 · 盖奇首次提出 ...
- ChinaSkills-网络系统管理003(VMware ESXI云平台搭建)
ChinaSkills-网络系统管理003(VMware ESXI云平台搭建) 2022年全国职业技能大赛网络系统管理赛项相较2021年再次做出改动,Linux部分从之前的Debian又换回了Cent ...
- 免费的云端软件测试平台-快意测试云平台介绍
快意测试云是什么?--提供丰富的软件测试功能和测试管理服务的云测试平台. 适合谁用?--对目前的软件测试现状不满意的企业和个人,软件太贵?使用复杂?资源不足?测试周期太长?管理不便? 怎么用?--无需 ...
- 先电Openstack云平台搭建【超级详细】【附带镜像】
前言 大二上学期学习Openstack,苦于百度与CSDN上没有对应版本的教程,学的十分艰难,在此,将我的Openstack云平台搭建过程写出,留给新手学习 准备工作: VMware Workstat ...
- 云计算、PaaS开发、企业云平台搭建
传统模式(单机纵向扩展):CPU.内存.硬盘 云计算特点: 通过增加节点来扩展 自下而上管理模式(自治.自动化) 适合自动化大数据处理 虚拟化 动态迁移 云计算思想: 解耦:打破串行执行,变成一环节一 ...
最新文章
- asp.net oracle参数传递,asp.net – Oracle参数问题中的链接数据库
- 网页中获取微信用户是否关注订阅号的思路
- Python基础教程(十一):多线程、XML解析
- 在Word中插入条形码又一法
- 验证DetailsView插入数据不为空
- vue学习笔记-01-前端的发展历史(从后端到前端,再到前后端分离,再到全栈)
- VC++ WIN32 sdk实现按钮自绘详解.
- android开发中eclipse里xml开发的自动提示和使用帮助快捷键提示
- dart参数传方法_Flutter必备Dart语言快速入门
- 利用HUtool读取Excel内容
- 什么是联表查询?(深度刨析,建议收藏)
- 中英文对照 —— 航空航天航海、交通运输工具
- matlab 正态分布相关 API
- CentOS操作系统的22个log日志
- Ubuntu系统清理瘦身
- window10华硕计算机主板VT,华硕主板怎么开启vt
【设置步骤】
- 移动开发必知必会的六大数据统计平台(入门篇)
- 集成平台即服务,云和……独角兽
- 中国睫毛生长液行业市场供需与战略研究报告
- 浏览器插件:脚本注入插件Tampermonkey(油猴)