首页 > 其他分享 >如何用Airtest脚本无线连接Android设备?

如何用Airtest脚本无线连接Android设备?

时间:2023-07-04 11:45:06浏览次数:52  
标签:__ 无线连接 adb 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

呀,这么认真都看到这里啦,帮忙点个推荐支持一下呗,灰常感谢~

标签:__,无线连接,adb,Airtest,Android,无线,设备
From: https://www.cnblogs.com/AirtestProject/p/17525357.html

相关文章

  • App自动化测试工具 - AirTest
    App自动化测试工具-AirTest本次专题分享的系列目标AriTest简介AirTest能做什么AirTest搭建方式AirTestIDE工具下载AirTestIDE安装步骤AirTestIDE布局AirTestIDE链接Android设备远程设备连接兼容模式AirTest图像框架API新建脚本类型选择区别:Tips:运行脚本查看报......
  • Android各组件/控件间通信利器之EventBus
    来源:https://www.cnblogs.com/lwbqqyumidi/p/4041455.html一、build.gradle中dependencies节增加配置api'org.greenrobot:eventbus:3.0.0'二、注册EventBus,一般放到onCreate里面,代码:EventBus.getDefault().register(this);三、注册与解绑一般都是成对出现,代码:/***解绑Ev......
  • Android开发_开启子线程执行耗时操作
    Activityactivity=(Activity)getContext();newThread(newRunnable(){@Overridepublicvoidrun(){activity.runOnUiThread(newRunnable(){@Overridepublicvoidrun(){//在这执行耗时操作......
  • Android:倒计时、定时器、定时执行次数使用笔记
    原文:https://blog.csdn.net/weixin_40420578/article/details/103876900一.倒计时(3、2、1)CountDownTimer() //一共3秒,每隔1秒执行一次 CountDownTimertimer=newCountDownTimer(3000,1000){ @Override publicvoidonTick(longmillisUntilFi......
  • Android信任证书,把用户级别放入系统级别
    三、操作步骤1、在Windows安装openssl,用来把证书转成.pem 格式1)下载和安装下载其他人做的便捷版安装包:http://slproweb.com/products/Win32OpenSSL.html    2)配置path环境变量   2、把证书转成.pem 格式(如果本身就是这个格式就不转了)......
  • 使用ADB轻松管理Android设备的调试和应用管理
    AndroidDebugBridge(ADB)是一个强大的命令行工具,可用于管理和调试Android设备。1.ADBWiFi调试ADBWiFi调试允许您通过无线网络连接进行设备调试,而无需使用USB连接。以下是进行ADBWiFi调试的步骤:确保您的Android设备与计算机连接在同一网络下。通过USB将设备与计算机连接,并确......
  • Android面经:小厂被diss到自闭,“试水”大厂竟收3份offer
    写在最前面:有时候某人的放弃,将会成就你更好的选择!刚开始面试的时候我真的是处处碰壁,面一家挂一家,面完之后怀疑自我,是不是自己真的太菜了找不到工作,还是真的是像网上所焦虑的那样,Android开发真的是要凉了?这次跳槽经历让我明白,工作本身就是双向选择,一家不行再换一家,总有合适的,千万不......
  • 3588 编译android12 过程中的报错。
     怀疑是当初解压的时候使用的是sudo.   ......
  • 一个高效的Android终端日志过滤工具
    什么是pidcat在Android日常开发中,对日志过滤是很有必要的,但是我们在终端过滤日志的时候因为日志信息过多而看的眼花缭乱,而且很多时候,我们只想过滤我们自己应用进程的日志,但是当我们的进程重启后,pid就变了,这时又需要重新获取进程pid,然后过滤,如果我们想看两个或多个进程的日志就更麻......
  • Android 构建脚本从Groovy迁移到Kotlin DSL
    原文:https://edenxio.github.io/2019/02/01/Android%20%E6%9E%84%E5%BB%BA%E8%84%9A%E6%9C%AC%E4%BB%8EGroovy%E8%BF%81%E7%A7%BB%E5%88%B0Kotlin%20DSL/ 为什么要迁移?因为Groovy是动态语言,在用作Android构建脚本的时候,经常有些问题:很差的IDE支持(自动提示等)性能问题......