如何用Airtest腳本無線連接Android設備?

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

呀,這麼認真都看到這裏啦,幫忙點個推薦支持一下唄,灰常感謝~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章