VMware+Ubuntu+docker+STF环境搭建

一、OpenSTF简介

OpenSTF(Smartphone Test Farm)是一个Web端移动设备管理平台,可以从浏览器端远程调试、远程管理设备。

二、环境准备

在Windows10上安装VMware workstation 16 Pro及Ubuntu 20.04.3(参考上一篇安装教程),安装完毕后,VMware网络连接设置桥接模式,如下图:

VMware+Ubuntu+docker+STF环境搭建_第1张图片

Windows IP: 192.168.0.107

虚拟机IP: 192.168.0.105

三、步骤

安装Docker

# 更新软件包
sudo apt-get update   

# 安装Docker
sudo apt-get install docker 
sudo apt-get install docker.io

# 检查docker是否安装成功
docker version

#查看已拉取的docker镜像,由于还没安装任何镜像,列表为空
sudo docker images 

拉取 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

VMware+Ubuntu+docker+STF环境搭建_第2张图片

启动镜像(按先后顺序)

# 启动rethinkdb数据库
docker run -d --name rethinkdb -v /srv/rethinkdb:/data --net host rethinkdb rethinkdb --bind all --cache-size 8192 --http-port 8090

# 启动adb
docker run -d --name adbd --privileged -v /dev/bus/usb:/dev/bus/usb --net host sorccu/adb:latest    

# 启动stf,IP地址通过ifconfig命令查询
docker run -d --name stf --net host openstf/stf stf local --public-ip 192.168.0.105  

#查看运行中的容器,包含有容器ID、容器名称
sudo docker ps -a

STATUS为Up状态即开启,Exited为退出

在主机PC端或虚拟机中浏览器访问:http://192.168.0.105:7100

VMware+Ubuntu+docker+STF环境搭建_第3张图片

 用户名为任意字符串,密码符合邮箱格式即可登录;至此,STF安装成功。

连接设备

准备:Windows未安装STF、但支持Android SDK环境(adb --version验证是否安装adb,android -h验证是否安装SDK),Ubuntu已安装STF,在同一个网络环境中。以下为两种连接方式:

(1)STF(docker版)直连手机   

手机打开开发者模式和USB调试插在电脑上,设置虚拟机直连手机

VMware+Ubuntu+docker+STF环境搭建_第4张图片

STF首页即可看到连接手机

VMware+Ubuntu+docker+STF环境搭建_第5张图片

(2)通过STF(docker版)连接其它电脑上的手机

即将没有安装stf的windows上连接的android设备,添加映射到装有stf的机器上,实现远程操控。

打开手机开发者模式和USB调试插入电脑,连接主机非虚拟机。

在windows上暴露adb端口,adb版本为1.0.31,采用默认端口5037,直到执行命令出现OK:

adb -a -P 5037 fork-server server

切换到Ubuntu环境,重启stf系列镜像;

# 进入stf镜像目录,sudo docker ps -a查看容器ID
docker exec -it stf的容器ID /bin/sh


# 此命令表示将windows连接的安卓手机共享给stf
#stf--name后为hostname,--public-ip后为虚拟机ip,--adb-host后为主机windows ip
stf provider --name kong-virtual-machine --min-port 7400 --max-port 7700 --connect-sub tcp://127.0.0.1:7114 --connect-push tcp://127.0.0.1:7116 --group-timeout 900 --public-ip 192.168.0.105 --storage-url http://localhost:7100/ --adb-host 192.168.0.107 --adb-port 5037 --vnc-initial-size 600x800 --mute-master never --allow-remote

执行过程中移动端需点击同意安装STFService

VMware+Ubuntu+docker+STF环境搭建_第6张图片

 连接成功后显示移动设备信息

 刷新STF首页可看到windows连接的android手机。

四、遇到的问题及解决

1、连接主机端口被拒绝

 关闭主机防火墙,主机和虚拟机间能互相ping通

2、无法绑定端口5037

 执行adb kill-server

3、启动镜像报错


无权限访问问题,切换root账户执行即可;
sudo passwd root  #设置root账户密码
su root                   #切换至root账户

4、其它命令

启动容器:docker start 容器名      如:docker start rethinkdb
停止容器:docker stop 容器名
查看占用端口进程:netstat -ano |findstr "5037",任务管理器关掉对应进程

你可能感兴趣的:(Software,Testing,docker,ubuntu,STF)