Docker搭建STF私有移动测试云平台
- 支持安卓2.3-10.0系统,无需root(10.0系统为目前最新)
- 最多支持管理上百个android设备
- 实时屏幕操作和显示
- 通过浏览器远程控制,支持远程鼠标键盘对真机进行操作
- 远程复制粘贴功能
- 快照截图
- 应用包及文件的上传/下载功能
- 支持远程端浏览器进行真机访问操作
- 日志输出及错误日志输出打印
- 支持adb connnect远程连接调试、adb shell脚本运行
- 开发人员进行远程debug功能
- android设备信息的展示(如:网络状态、MIME、android版本、手机型号等
- 提供设备机的CPU,内存,电量等性能的监测
- 固化测试机器的系统版本,系统设置,不被篡改
- 利用多设备管理,可以实现移动APP兼容性测试
- 借助adb shell脚本可实现monkey交叉事件测试,测试APP稳定性
- 结合python/Java+appium/uiautomator2,可实现APP自动化回归测试
四、STF的架构
1.设备端
- STF在会在android设备上安装minicap和minitouch。使用minicap来捕获屏幕,使用minitouch来触发多点触控事件,并通过adb使用socket在服务端和设备端进行数据传输。
- STF还会在android设备上安装STFService.apk,它在设备后台运行,提供了一组socket api可以用来监控和执行不同的action。 同理,它也是通过adb和服务端通信,不过它使用的是protocal buffer数据格式。
- minirev,直接从Android设备的端口转发本地服务,即便不在一个网段。
- Provider层(stf-provider)主要负责和设备之间进行通信。
- 通过adb来监控设备状态,当有新的设备连接,或者有设备断开则会立刻监控到。
- 如果是新的connect设备,则provider会folck一个新的nodejs进程(stf-device), 这个进程主要负责与该设备的所有通信。
- stf由两个部分组成,分别是stf-provider和adb。
- provider层的服务需要跑在物理机上,所有的设备需要连着这台物理机。
- Application层则是由stf -api、stf -app和stf -auth等微服务组成,这些微服务组成了一个完整的STF。
- 从部署的角度来看,这些服务可以跑在任意地方,唯一的要求就是,这些服务能够通过网络和provider通信,这也就是意味着他们需要在同一个网段上。
- 使用Angular JS实现
- 通过websocket与服务进行通信
docker pull openstf/stf:latest
docker pull sorccu/adb:latest
docker pull rethinkdb:latest
docker pull openstf/ambassador:latest
docker pull nginx:latest
docker run -d --name rethinkdb -v /home/rethinkdb:/data --net host rethinkdb rethinkdb --bind all --cache-size 8192 --http-port 8070 //注意端口冲突
docker run -d --name adbd --privileged -v /home/adb:/dev/bus/usb --net host sorccu/adb:latest //--privileged参数赋予容器内的root用户root权限,若服务器已安装adb命令行工具,也可以使用既有的
docker run -d --name stf --net host openstf/stf stf local --public-ip 192.168.1.122 //带上自己的IP地址即可
docker ps -a


Docker搭建STF私有移动测试云平台的更多相关文章
- 026.[转] 基于Docker及Kubernetes技术构建容器云平台 (PaaS)
[编者的话] 目前很多的容器云平台通过Docker及Kubernetes等技术提供应用运行平台,从而实现运维自动化,快速部署应用.弹性伸缩和动态调整应用环境资源,提高研发运营效率. 本文简要介绍了与容 ...
- 利用 Docker 搭建 IPFS 私有网络
利用 Docker 搭建 IPFS 私有网络 本文原始地址:https://sitoi.cn/posts/40630.html 下载项目 项目地址:https://github.com/Sitoi/p ...
- 在 Docker 搭建 Maven 私有库
在 Docker 搭建 Maven 私有库 小引 If you are developing software without a repository manager you are likely ...
- 容器云平台No.1~基于Docker及Kubernetes构建的容器云平台
开篇 最近整理笔记,不知不觉发现关于kubernetes相关的笔记已经达99篇了,索性一起总结了.算是对这两年做容器云平台的一个总结,本文是开篇,先介绍下所有用到的组件.首先来看下架构图(实在画的太丑 ...
- 搭建自己的XenServer+CloudStack云平台,提供IaaS服务(一)环境搭建
目标 搭建一个完整的基于XenServer和CloudStack的虚拟化平台,提供IaaS服务. 搭建三台安装了XenServer的服务器 搭建一台安装了CloudStack的服务器用以管理云平台 搭 ...
- Django项目: 项目环境搭建 ---- 三、在码云平台创建项目&推送到码云上
三.在码云平台创建项目 git服务平台: 主要使用github(最主流) 国内访问速度慢 托管私有项目收费 国内一般使用码云gitee 国内访问速度快 托管私有项目免费(限制开发人数) 公司中使用gi ...
- ESA2GJK1DH1K基础篇: 阿里云物联网平台: 测试云平台显示MQTT客户端发过来的消息
现在这里空空如也 咱自定义的也没有数据 现在就是传上来温度数据,让这里显示温度数据 你发布的主题 /sys/a1m7er1nJbQ/Mqtt/thing/event/property/post 发布 ...
- Docker学习笔记六:Docker搭建企业级私有仓库
前言 Docker不仅是一个强大的服务器部署工具,而且它还有一个官方的Docker Hub registry用于储存Docker镜像.上传镜像到Docker Hub是免费的,上传的镜像文件同时也对公共 ...
- docker搭建harbor私有镜像库
创建harbor私有镜像库 一.部署准备: harbor软件包 在部署节点上: 1)解压harbor的软件包将harbor目录下所有文件发送到/opt/目录下 tar zxvf harbor- ...
随机推荐
- 【SpringSecurity系列2】基于SpringSecurity实现前后端分离无状态Rest API的权限控制原理分析
源码传送门: https://github.com/ningzuoxin/zxning-springsecurity-demos/tree/master/01-springsecurity-state ...
- 测试软件稳定性、健壮性之Monkey工具--简洁与深入
搭建环境这章节没做详细说明,因为我是前期做APP自动化是已经将 SDK 以及JDK给安装配置好了,这次是直接上来演示monkey的功能点以及运用 一.什么是稳定性测试? 通过随机点击屏幕一段时间,看看 ...
- 1.数据结构《Pytorch神经网络高效入门教程》Deeplizard
当移动一个数组或向量时,我们需要一个索引:二维数组/矩阵需要两个索引, 比如说标量是零维张量,数组/向量/矢量是一维张量,矩阵是是二维张量,n维数组是n维张量. 如果我们被告知, 假设有一个张量t, ...
- Linux Cgroup v1(中文翻译)(4):Block IO Controller
Block IO Controller 1 概览 cgroup子系统blkio实现了block io控制器.无论是对存储结构上的叶子节点和还是中间节点,它对各种IO控制策略(proportional ...
- C语言- 基础数据结构和算法 - 队列的顺序存储
听黑马程序员教程<基础数据结构和算法 (C版本)>, 照着老师所讲抄的, 视频地址https://www.bilibili.com/video/BV1vE411f7Jh?p=1 喜欢的朋友 ...
- 入坑KeePass(一)安全桌面输入管理密钥后,不能输入中文
坑一:设置了在安全桌面输入管理密钥后,重启电脑后今日keepass软件中不能输入中文: 解决方式:进入keepass软件中取消勾选,在重启软件就可以输入中文了.
- 跟着Vam一起学习Typescript(第一期)
一.安装环境与配置1.命令行安装 npm i -g typescript 2.快捷打开Vs Code编辑器 创建一个项目文件夹,在该文件夹下打开命令行工具,使用code .命令快速打开编辑器(如果计算 ...
- vue封装手机验证码
// 获取验证码 let endMsRes = new Date().getTime() + 45000; localStorage.setItem("myEndTime", JS ...
- Android 12(S) 图像显示系统 - HWC HAL 初始化与调用流程
必读: Android 12(S) 图像显示系统 - 开篇 接口定义 源码位置:/hardware/interfaces/graphics/composer/ 在源码目录下可以看到4个版本的HIDL ...
- jieba分词的功能和性能分析
jieba分词问题导引 用户词典大小最大可以有多大 用户词典大小对速度的影响 有相同前缀和后缀的词汇如何区分 对比百度分词的API 问题一:词典大小 从源码大小分析,整个jieba分词的源码总容量为8 ...