1. 前言
之前我們已經詳細介紹過如何用AirtestIDE無線連接Android設備: 手把手教你用AirtestIDE無線連接手機! ,它的關鍵點在於,需要先 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. 小結
關於腳本連接無線設備的教程就到這裏啦,更多教程可以查看我們的往期文章,或者有什麼特別想看的教程,也歡迎給我們留言!
Airtest官網:https://airtest.netease.com/
Airtest教程官網:https://airtest.doc.io.netease.com/
搭建企業私有云服務:https://airlab.163.com/b2b
官方答疑 Q 羣:117973773
呀,這麼認真都看到這裏啦,幫忙點個推薦支持一下唄,灰常感謝~