移动测试基础 通过 wifi 执行 uiautomator2 的自动化脚本

flyfire · 2018年05月05日 · 1859 次阅读

【问题描述】
因为有一台手机电池存在问题的,导致运行 MTBF 测试时,跑 6 个小时手机就没电关机了,所以需要寻求其他解决方法
【解决方法】
第一种解决方案:通过 hub 链接,可以再某东上搜索 “西普莱”,大部分手机实验室采用的这种方式。这种方式可以边充电边进行数据通信,相当于增加了一个充电接口,但是 hub 的充电电流也有限制,一般 1A-4A 左右,不同的 hub 不一样,超级快充无法使用。这种方式我试过了,对于我们那个坏了的手机,充电速度跟不上耗电速度。
第二种解决方案:通过 wifi 进行链接,这种方式下可以用手机链接充电器,直接充电,数据链路通过 WiFi 进行通信。但是涉及到 wifi 关起的用例可能就无法执行了。所以我们采用的这种方式,毕竟我们的 wifi 是华为路由器组件的局域网,可靠性还行。哈哈!有打广告的嫌疑!

【实施方法】
手机和电脑同时连接到同一个 wifi 上
1、开启远程 adb
# 开启远端 adb
adb tcpip 5555
# 结果如下:restarting in TCP mode port: 5555
# 然后断开 USB
adb connect 192.168.3.2
# 其中 192.168.3.2 是手机的局域网 IP 地址
adb devices
# 确认可以看到设备信息

2、通过 adb 命令启动 uiautomator2 的 agent

db shell /data/local/tmp/atx-agent -d

3、通过 uiautomator2 脚本连接手机执行用例

import uiautomator2 as u2
d = u2.connect_wifi('192.168.3.2')
print(d.info)

发现可以成功执行

PS:因为有些操作系统上 uiautomator2 的 agent 无法自动拉起,所以需要手动通过 adb 命令拉起

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册