什么是OpenSTF?

OpenSTF(Smartphone Test Farm)是一个web端移动设备管理平台,可以从浏览器端远程调试、远程管理设备。其实有点类似于我们现在很火热的云测平台,如:testin、百度MTC等等。并且这个项目在Github上开源:https://github.com/openstf/stf, 遵循Apache License 2.0开源协议。很多公司内部团队现在都开始通过STF建设自己的平台。

先看看项目的运行效果截图(摘抄自官网)

支持的功能

  • Android 2.3 ~ Android 9.0 (IOS目前不支持)
  • 手机不需要root
  • 实时屏幕演示(刷新速率可达30-40fps)
  • 远程控制(包括点击、输入数据、复制粘贴)
  • 安装、卸载应用
  • 执行shell命令
  • 支持chrome远程调试工具
  • 文件资源管理器访问设备文件系统
  • ......

安装部署(虚拟机+Docker)

官方推荐用Linux系统或者Mac系统来部署STF环境,因为Windows下adb连接不是很稳定。由于我个人PC安装的是Windows,所以只好通过虚拟机来搭建这样一套环境。现在STF支持通过Docker来安装,要比传统安装方式省事很多,所以也推荐大家用Docker安装方式。

虚拟机安装Ubuntu系统

选用Vmware Workstation或者VitualBox都可以,个人选用的是Vmware,安装的Ubuntu版本是16.04 LTS,这一步大家可以从网上搜索到很多教程,就不再赘述。

Vmware设置网络桥接模式

安装Docker

$ sudo apt-get update   # 更新软件包
$ sudo apt-get install docker-ce docker-ce-cli containerd.io # 安装Docker

拉取STF相关镜像

$ sudo docker pull openstf/stf:latest # STF镜像
$ sudo docker pull sorccu/adb:latest # adb 镜像
$ sudo docker pull rethinkdb:latest # rethinkdb 镜像
$ sudo docker pull openstf/ambassador:latest # ambassador 镜像
$ sudo docker pull nginx:latest # nginx 镜像

查看所有的镜像

sudo docker images

启动镜像

$ docker run -d --name rethinkdb -v /srv/rethinkdb:/data --net host rethinkdb rethinkdb
--bind all --cache-size 8192 --http-port 8090 # 启动rethinkdb数据库
$ docker run -d --name adbd --privileged -v /dev/bus/usb:/dev/bus/usb
--net host sorccu/adb:latest # 启动adb
$ docker run -d --name stf --net host openstf/stf stf local
--public-ip 192.168.140.129 # 启动stf 启动的时配置的IP地址通过ifconfig命令查询到的结果

查看运行中的容器

$ sudo docker ps -a

最后在虚拟机里的浏览器或者本地PC端浏览器输入:http://192.168.140.129:7100 即可访问

默认用户名密码用任意字符串即可登录上

OpenSTF 平台搭建的更多相关文章

  1. 【iOS】Jenkins Gitlab持续集成打包平台搭建

    Jenkins Gitlab持续集成打包平台搭建 SkySeraph July. 18th 2016 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph个人站点: ...

  2. hadoop伪分布式平台搭建(centos 6.3)

    最近要写一个数据量较大的程序,所以想搭建一个hbase平台试试.搭建hbase伪分布式平台,需要先搭建hadoop平台.本文主要介绍伪分布式平台搭建过程. 目录: 一.前言 二.环境搭建 三.命令测试 ...

  3. LNMP平台搭建---MySQL安装篇

    在前两篇中,安装了一个基本的Web服务器,但是只能提供静态网页查看,要做成动态网站,就必须要数据库或其他编程语言支持了,这里先介绍MySQL数据库的安装. MySQL是一个开源的数据库,在互联网行业应 ...

  4. 基于Moodle的IT课程辅助教育平台搭建

    基于Moodle的IT课程辅助教育平台搭建 Moodle是一个开源课程管理系统(CMS),也被称为学习管理系统(LMS)或虚拟学习环境(VLE).它已成为深受世界各地教育工作者喜爱的一种为学生建立网上 ...

  5. [Openwrt 项目开发笔记]:Openwrt平台搭建(一)

    [Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 最近开始着手进行Openwrt平台的物联网网关设 ...

  6. LNMP平台搭建---Nginx安装篇

    在上一篇博文<LNMP平台搭建---Linux系统安装篇>中,我们安装了CentOS版本的Linux操作系统,现在,我们来安装一个Web服务器,大标题写着LNMP,其中的N就是Nginx, ...

  7. LNMP平台搭建---Linux系统安装篇

    在互联网网站开发领域,有一个名词,大家一定不陌生,那就是LAMP,经典的Web服务器环境,由Linux+Apache+MySQL+PHP组成,,后来,一个名叫Nginx的Web服务器开源出来了,因其更 ...

  8. Storm on Yarn :原理分析+平台搭建

    Storm on YARN: Storm on YARN被视为大规模Web应用与传统企业应用之间的桥梁.它将Storm事件处理平台与YARN(Yet Another Resource Negotiat ...

  9. LAMP平台搭建菜鸟入门级实验

    LAMP平台搭建(菜鸟入门级) mysql 安装: (1)二进制安装  二进制安装 ,执行解压配置即可.无须执行三布安装. (2)源码编译安装 安装准备工作: (1)查看系统配置:#uname -a/ ...

随机推荐

  1. 初始认知学习 .net core 逐步加深

    1.一般用空项目练手 2.一般你已经有数据库的情况下使用如下的方式 开始生成类的操作 这里我使用的是Database First模式,使用工具Scaffold-DbContext(数据库上下文脚手架) ...

  2. 轻量级ORM《sqlcommon》第一个版本发布了!!!

    一.sqlcommon的特色 1. 轻量级,整个包只有123kb. 2. 性能好,自测... 3. API和功能简单.代码简短.可维护性好基本都能看懂.这个点我认为很重要,你不用为了实现一个需求而四处 ...

  3. java虚拟机JVM基础

    (1)内存模型以及分区,需要详细到每个区放什么. 堆:Java虚拟机管理内存中最大的一块,线程共享区域.所有对象实例和数组都在堆上分配内存空间. 栈:线程私有,每个线程都会创建一个虚拟机栈,生命周期与 ...

  4. css实现图片信息展示

    <style> .layui-fluid{padding: 15px;} .img-responsive{display: block;width: 100%;max-width: 100 ...

  5. 默认展开ztree树形菜单

    var setting = { view: { selectedMulti: false //按住ctrl是否可以多选 }, check: { enable: true , chkStyle: 'ch ...

  6. 【转载】Gradle学习 第十章:网络应用快速入门

    转载地址:http://ask.android-studio.org/?/article/8 This chapter is a work in progress.这一章是一项正在进行中的工作. Th ...

  7. Keepalived与MySQL互为主从自动切换配置

    为解决Mysql数据库单点问题,实现两台MySQL数据库互为主备,双向replication.当一Master出现问题,则将Slave切换为Master继续工作. 环境说明 系统版本:CentOS L ...

  8. 【学习笔记】PYTHON网络爬虫与信息提取(北理工 嵩天)

    学习目的:掌握定向网络数据爬取和网页解析的基本能力the Website is the API- 1 python ide 文本ide:IDLE,Sublime    Text集成ide:Pychar ...

  9. itextpdf中表格中单元格的文字水平垂直居中的设置

    在使用itextpdf中,版本是5.5.6,使用Doucument方式生成pdf时,设置单元格中字体的对齐方式时,发现一些问题,并逐渐找到了解决方式. 给我的经验就是:看官网的例子才能保证代码的效果, ...

  10. V4L2 API详解 Buffer的准备和数据读取

    1. 初始化 Memory Mapping 或 User Pointer I/O. int ioctl(int fd, int requestbuf, struct v4l2_requestbuffe ...