手机自动化测试平台搭建----第三节STF环境连接手机

一、背景

stf 连接各操作系统上安卓设备的操作方法分享,

二、目的

将没有安装stf组件电脑上连接的android设备,添加映射到装有stf平台服务的机器上(可以看作Master-Slave主从关系)
三、环境前置

环境示例1:
Mac 服务器,安装stf完整组件,作为master节点。[IP:172.17.9.49]
Windows,未安装stf,支持android sdk 。[IP:172.17.9.20]
Liunx,未安装stf,支持android sdk。[IP:10.16.6.63]
三台电脑网络互通。
环境示例2:
Centos : 安装stf完整组件,作为master节点.(10.24.51.1)

Windows,未安装stf,支持android sdk 。[IP:10.24.12.234],这台机器通过USB插入一台华为手机。要求能连接到主节点的手机管理界面中。
 

四、环境示例1的描述

下述截图仅供演示说明,其中,IP及端口划分因实际情况而定

Mac STF服务本机上连有的android设备:

Windows机器上连有的android设备:

Linux机器上连有的android设备(通过wifi模式连接):

五、环境示例1的实际操作

windows 上启动 adb server 并对外暴露 5037 端口:
adb 如果是1.0.32版本以下的,使用如下命令

>adb -a -P 5037 fork-server server

在1.0.32以上的,如adb 1.0.39版本下,WINDOWS下DOS命令,启动后台SERVER的命令为

adb nodaemon server -a -P 5037

Linux 上启动adb server并对外暴露5037端口
adb -a -P 5037 fork-server server

在Mac 上启动stf服务
stf local --public-ip 172.17.9.49 --allow-remote

如果不知道triproxy dev 具体的端口配置情况或者不知道stf provider命令如何写的同学,可以通过分析日志得出,如下红框标红的区域:

通过配置 adb host 的方式连上 windows 主机上的设备
在Mac服务器上,执行下述命令【其中127.0.0.1可换成实际IP172.17.9.49】:

stf provider --name mikezhoudeMac-mini.local --min-port 7400 --max-port 7700 --connect-sub tcp://127.0.0.1:7114 --connect-push tcp://127.0.0.1:7116 --group-timeout 20000 --public-ip 172.17.9.49 --storage-url http://localhost:7100/ --adb-host 172.17.9.20 --adb-port 5037 --vnc-initial-size 600x800 --allow-remote

Windows连接启动成功后的日志,如下所示:

通过配置 adb host 的方式连上 liunx 主机上的设备
stf provider --name mikezhoudeMac-mini.local --min-port 7400 --max-port 7700 --connect-sub tcp://127.0.0.1:7114 --connect-push tcp://127.0.0.1:7116 --group-timeout 20000 --public-ip 172.17.9.49 --storage-url http://localhost:7100/ --adb-host 10.16.6.63 --adb-port 5037 --vnc-initial-size 600x800 --allow-remote

Liunx连接启动成功后的日志,如下所示:

连接成功后,Mac服务上接收到的日志
下述日志,说明windows上的安卓设备已经连接成功:

下述日志,说明liunx上的安卓设备已经连接成功:

六、环境示例2的实际操作:
1.在windows机器上运行启动adb server并对外暴露5037端口
adb 1.0.39版本下,WINDOWS下DOS命令,启动后台SERVER的命令为

 

adb nodaemon server -a -P 5037

 

 

adb 1.0.32版本以下的,

>adb -a -P 5037 fork-server server

2.在centos上查看stf的docker进程,并进入docker内部,运行stf的服务
Docker ps –a (查看出stf的docker进程号)

docker exec -it 4dc5b68d18cc /bin/sh (这个号是stf进程号,进入docker容器内)

 

在这个容器内部运行下面的命令,运行stf服务

stf local --public-ip 10.24.51.1 --allow-remote

 

3.在容器内部,通过adb host加载windows主机上的设备:
当不知道命令如何写的时候,从上面运行STF服务里查找日志里面有provider的一行,可以比照出内容怎么写。

stf provider --name centos74 --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 10.24.51.1 --storage-url http://localhost:7100/ --adb-host 10.24.12.234 --adb-port 5037 --vnc-initial-size 600x800 --mute-master never --allow-remote

 

 

七、平台连接效果展示


八、补充说明

上述操作行为,仅针对其它操作系统上没有安装stf,所以采用 adb host 的方式连上对应操作系统上的安卓设备,假如某此系统服务上已安装stf相应组件,
如:10.16.6.63_Liunx主机,安装了 stf,想将Liunx主机的安卓设备连接到主Master(MAC:172.17.9.49)平台上。
通过配置新的 provider 连上Liunx 主机上的设备:

在Liunx主机上启动 stf provider 【差异在于,不需要增加--adb-host】

stf provider --name mikezhoudeMac-mini.local --min-port 7400 --max-port 7700 --connect-sub tcp://172.17.9.49:7114 --connect-push tcp://172.17.9.49:7116 --group-timeout 20000 --public-ip 172.17.9.49 --storage-url http://172.17.9.49:7100/ --vnc-initial-size 600x800 --allow-remote

原文链接:https://blog.csdn.net/xl_lx/article/details/79445862

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值