wifi链接手机adb uiautomator2

发布时间 2023-12-27 14:34:32作者: 欧阳锦涛

uiautomator通过wifi连接手机报错uiautomator2.exceptions.ConnectError: ('addr is invalid or atx-agent is no...

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

二、解决流程

手机和电脑同时连接到同一个wifi上
1、开启远程adb
开启远端adb,这一步需要手机通过USB连接到电脑

#查看已连接设备
adb devices
#使用tcpip命令
adb tcpip 5555
#其中192.168.3.2是手机的局域网IP地址
adb connect 192.168.3.2:5555 
#确认可以看到设备信息
adb devices

 


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

 

#输入adb shell,执行如下命令
chmod 755 /data/local/tmp/atx-agent
data/local/tmp/atx-agent version
data/local/tmp/atx-agent server -d


三、代码验证,得到需要的结果

import uiautomator2 as u2
#第一种方式:通过手机wifi进行连接,参数为ip
d1 = u2.connect_wifi("xx.xx.xx.xx")
print(d1.info)

#第二种方式:通过手机序列号连接
d = u2.connect_usb("xxxx")
print(d.info)
print(d.device_info) #可以获取详细的设备信息

#第三种方式:通过adb-wifi连接,也就是adb tcpip模式,注意不药丢掉端口号
 d = u2.connect_adb_wifi("192.168.x.xx:5555")
 print(d.info)