各位亲,如果想使用一台计算机(型号可以推荐)连接 50 台手机进行 adb 操作,请问怎么选择计算机,构建的过程中要考虑哪些关键点?
PS:现在个人采用 usbhub 只能进行 8 台设备的操作,理论值好像是 127,现实执行不了,请示下!
借助 docker 不知道可不可以,没试过
adb 本身就不够稳定,超过一定数量机器扛不住的。
—— 来自 TesterHome 官方 安卓客户端
最近我也在研究这个问题,打算抛弃 adb 了
尝试 ADB 无线连接? adb connect 192.168.1.101:8888
谢答,可能我没有描述清楚,真实是使用一台服务器或者 PC 系统可以是 win 或者 linux 去驱动和控制 20~50 台手机,能检测到所有机器的连接,以及进行任务的分发,比如所有机器同时执行 monkey 等!
可通过无线连接 发送 adb 命令
如果 http 服务好的,但是应用卡死了,该如何操作?
如果 http 服务无响应,但是测试仍在进行,该如何操作?
如果索性死机了,怎么检测,怎么操作?
都要拆电池装继电器来控制么?
抛弃 adb 的话,可以用串口板的,走网络更加不可靠。
—— 来自 TesterHome 官方 安卓客户端
如果 PC 的主板总线给 USB 分配的带宽有限,那就尝试多 PC 组网,分布式控制手机:
弄一个 master 控制 PC-A、PC-B……
PC-A 控制手机 1~10
PC-B 控制手机 11~20
……
你看过 jenkins 的 M-S 模式么,命令分发即可
用 docker ,已经有案例支撑了
我也没实践过,只是知道有这么个方案,另外在手机端起 web 服务的方式也是比较靠谱的
据我所知,stf 就是设备管理的,使用 websocket,也有 docker 实现吧
@Lihuazhang
恒温哥来个案例链接
windows 下很不稳定 linux 下目前还没试过
这段日子正在尝试这种无线控制的方案。楼上说的那些 Wifi 稳定性问题,我还真没有遇到过,可能是我的路由器太好了。
安装方面要比 adb install 快了很多,因为用的 Wifi,好一些的手机基本是 10M/s。
挂载这么多设备,供电也是个问题!无线 adb 可以,但是不知道稳不稳定!
淘宝搜微信群控就可以搜到大功率的 usb hub
给你个已经验证的思路:
一台 PC 连接 3-5 台 USB HUB,每台手机 通过 usb 线连接到 hub,也就间接连接到 PC 上,按照提示安装驱动,理想状态下 TOP50 机型都能连接到 PC 并且可以通过 adb devices 识别。
手机上安装一个 apk,用作接受服务器传来的 msg,pc 上安装一个 exe,用来与手机上的 apk 保持连接并且传输协议, pc 与 apk 之间通过 socket 或者 http 进行通信;
运行流程大体如下:
PC 上运行模拟器或者其他程序,获得期望的点击、滑动、按键操作等事件,转换成包含操作事件、操作坐标点等信息的 proto,通过 socket 或者 http 发送给手机 apk;
运行在手机的 apk 接受到服务器发来的信息,解析出动作事件和坐标,在本地还原操作,比如进行点击、滑动、按 home 或者电源键之类的。
大体思路就是这样
mark 一下 没试过
服务器本身够强大就多开几个虚拟机 把机子分散开,用无线连接的方式。毕竟那么多机器先要保证稳定不断电都能连上 pc。。不过这样管理起来比较麻烦,其实脑洞开一点还可以自己写个后台控制,把所有虚拟机连接的手机信息 集合到本机上,用这个后台执行脚本或 adb 命令的分发 某台机子 logcat 啥的。我自做过一个局域网内各个主机连接手机执行脚本获取性能数据之类的小工具,应该是可行的,连接的虚拟机尽量用 linux,这样会少出很多幺蛾子。 小白不懂太深的技术,只能按自己想法来。
执行 monkey 可以把 log 设置为 5000,然后 log 保存手机?>/storage/sdcard0/all_apk.log 2>&1 &
有个想法,用 usb 带网卡的 hub 连接手机,但是手机得支持 usb host 模式,且需要驱动支持😁,然后在手机端写个 socket 或者 http 服务
自己恢复下,我们通过 8 核 CPU 16GB 内存服务器可以实现该需求,此外通过定制工控机也可以达到同样目的,通过 USBHU 连接 50 台手机
楼主好,
请问你是用 8 核,16GB 的服务器进行了的通过 usbhub 链接 50 台设备么,因为之前尝试过 5 台左右时,识别到设备没问题,但是发测试任务就会只有两台设备运行任务,而且还有延迟,请问这个怎么解决呢,谢谢
我目前也遇到了这个问题 我们是在 ubuntu 上想要连接 11 台设备,但是连接 10 台后,第十一台就不识别了