之前我们已经详细介绍过如何用AirtestIDE无线连接Android设备,它的关键点在于,需要先 adb connect 一次,才能点击 connect 按钮无线连接上该设备:
但是有很多同学,在使用纯Airtest脚本的形式连接无线设备时,还是遇到了一些困难。今天我们就继续无线连接这个话题,聊聊怎么用纯Airtest脚本连接无线Android设备。
2. 已知无线设备ip的连接方式
1)前置条件
假设我们的电脑,已经与我们的手机建立了无线连接的关系,且我们设置的通信端口为5555:
(adb devices
能查询到我们的无线设备)
2)示例脚本
-
# -*- encoding=utf8 -*-
-
__author__ = "AirtestProject"
-
from airtest.core.api import *
-
auto_setup(__file__)
-
connect_device("Android://127.0.0.1:5037/10.228.xx.xx:5555")
-
snapshot(msg="尝试给无线设备截图")
需要注意,Android连接字符串为:Android://adbhost:adbport/serialno;对于无线设备,adbhost:adbport仍为本机adb:127.0.0.1:5037;serialno为无线设备的ip地址和port。
3. 未知无线设备ip的连接方式
1)前置条件
假设我们的电脑与手机,还未建立无线连接关系;但是当前手机wifi与电脑处在同一个局域网下,并且:
-
用usb线连接了手机和电脑
-
打开了手机USB调试选项、无线调试选项
2)示例脚本
示例脚本将自动完成:
-
设置无线通信端口
-
通过有线连接的方式,获取设备ip
-
返回无线连接的字符串列表
-
# -*- encoding=utf8 -*-
-
__author__ = "AirtestProject"
-
from airtest.core.api import *
-
#导入了 airtest 库中的 ADB 类,这个类提供了与 Android 设备进行交互的方法
-
from airtest.core.android.adb import ADB
-
auto_setup(__file__)
-
def adb_connect_devices():
-
# 创建 ADB 实例
-
adb = ADB()
-
#获取设备的设备号列表
-
devices = adb.devices()
-
device_list = []
-
for dev in devices:
-
#设置端口号
-
adb.cmd(f"-s {dev[0]} tcpip 5555", device=False)
-
sleep(2)
-
#初始化设备,并且设置为当前设备
-
dev_connect = connect_device(f"Android:///{dev[0]}")
-
# 获取当前设备IP地址
-
ip = dev_connect.get_ip_address()
-
#print(f"dev[0]的IP是{ip}")
-
adb.cmd(f"connect {ip}:5555", device=False)
-
device_list.append(f"Android://127.0.0.1:5037/{ip}:5555")
-
return device_list
-
if __name__ == '__main__':
-
r = adb_connect_devices()
-
print(r)
拿到返回的无线设备字符串列表之后,我们就可以断开数据线连接,愉快的使用无线连接方式了!
['Android://127.0.0.1:5037/10.228.xx.xx:5555', 'Android://127.0.0.1:5037/10.227.xx.xx:5555']
3)输出空列表
当我们看到返回的无线设备字符串列表为空时,应确保设备和电脑是成功连接的,并且打开usb调试和无线调试选项:
4. 小结
关于脚本连接无线设备的教程就到这里啦,更多教程可以查看我们的往期文章,或者有什么特别想看的教程,也欢迎给我们留言!
总结:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
-
文档获取方式:
-
加入我的软件测试交流群:680748947免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)
这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取