zl程序教程

您现在的位置是:首页 >  硬件

当前栏目

用1行代码搞定自动化测试的设备连接问题

2023-09-27 14:25:57 时间
前言


对于刚开始做自动化测试的新手同学来说 我们还是非常建议大家通过IDE提供的设备窗口去连接测试设备的


image


这样不仅可以非常直观地看到设备的画面 还可以在运行脚本时 自动帮大家生成带连接设备参数的运行命令 减少很多不必要的错误


image


当然 很多同学也会有 脱离IDE来跑自动化脚本 的需求 这时候就需要我们自己添加设备连接参数。通常我们可以用以下俩种方式来连接设备


① 在 脚本 中添加连接设备的参数

② 在 运行命令 中添加连接设备的参数


下文将详细讲述在这俩种情况下 具体如何来添加这些连接设备的参数。


用于初始化设备的URI字符串


在初始化设备的时候 我们会用到以下的URI字符串 不同设备的URI字符串格式会略有不同 建议收藏 用到的时候再翻一翻


1.连接Android手机


# 什么都不填写 默认取当前连接中的第一台手机

Android:///

# 连接本机默认端口连的一台设备号为79d03fa的手机

Android://127.0.0.1:5037/79d03fa

# 用本机的adb连接一台adb connect过的远程设备 注意10.254.60.1:5555其实是serialno

Android://127.0.0.1:5037/10.254.60.1:5555

复制代码


2.连接iOS手机


iOS:///127.0.0.1:8100

复制代码


3.连接Windows窗口


# 连接一个窗口句柄为123456的Windows窗口

Windows:///123456

# 连接一个Windows窗口 窗口名称匹配某个正则表达式

Windows:///?title_re Unity.*

# 连接windows桌面 不指定任何窗口

Windows:///

复制代码


4.使用了备选连接参数的设备


# 夜神模拟器 127.0.0.1 62001为夜神模拟器的端口号 

Android://127.0.0.1:5037/127.0.0.1:62001?cap_method JAVACAP ori_method ADBORI

# 设备号为79d03fa的 MIUI11 设备

Android://127.0.0.1:5037/79d03fa?cap_method JAVACAP ori_method ADBORI

复制代码


在脚本中添加连接设备的参数


1.使用 auto_setup 接口


auto_setup 是一个用来 初始化环境 的接口 它接受5个参数。我们可以设置当前脚本所在的路径、 指定运行脚本的设备 、设置默认的log路径、设置脚本父路径和指定截图精度


image


其中第二个参数就是指定运行脚本的设备 我们可以在这里 传入待连接设备的URI字符串 例如


# 连接本机默认端口连的一台设备号为SJE5T17B17的手机

auto_setup(__file__,devices [ Android://127.0.0.1:5037/SJE5T17B17 ])

复制代码


注意 devices 传入的是一个字符串列表 所以如果需要 连接多台设备 直接用 , 隔开多个URI字符串即可


# 连接本机默认端口连的设备号为123和456的两台手机

auto_setup(__file__,devices [ Android://127.0.0.1:5037/123 , Android://127.0.0.1:5037/456 ])

复制代码


2.使用 connect_device 接口


在 connect_device 接口中传入设备的URI字符串即可连接1台设备


dev connect_device( Android://127.0.0.1:5037/SJE5T17B17 ) 

复制代码


image


如果需要连接多台设备 可以编写多条的 connect_device 脚本 并且用 set_current 来切换到当前使用设备


# 连上第一台手机

dev1 connect_device( Android://127.0.0.1:5037/serialno1 )

# 连上第二台手机

dev2 connect_device( Android://127.0.0.1:5037/serialno2 )

# 切换当前操作的手机到序列号为serialno1的手机

set_current( serialno1 )

复制代码


3.使用 init_device 接口

init_device 接口只需要传入 设备平台和设备的uuid 即可 参数详情可以查看下图


init_device(platform Android ,uuid SJE5T17B17 )

复制代码


image


在命令行中添加设备连接的参数


在本地命令行运行脚本时 如果脚本中没有任何连接设备的语句 我们就需要通过 --device URI字符串 来连接设备


airtest run D:/test/test_connect.air --device Android:///

复制代码


否则命令行会提示你没有连接设备


image


并且脚本中如果涉及了需要连接设备才能够执行的脚本 比如 touch(截图) 等 则会出现如下报错


image


另外 如果你的设备需要添加备选的连接参数才可以正常连接 比如 模拟器或者MIUI11 的设备 则在连接设备时也需要把这些参数加上


airtest run D:/test/test_connect.air --device Android://127.0.0.1:5037/127.0.0.1:62001?cap_method JAVACAP^ ^ ori_method ADBORI

复制代码

注意 在Windows平台下需要转义成 ^ ^ 在MAC平台下需要转义成 / / 。否则有可能出现因运行命令被截断而产生的各种报错。


Airtest官网 airtest.netease.com/

Airtest教程官网 airtest.doc.io.netease.com/

搭建企业私有云服务 airlab.163.com/b2b


西门子S7-200 SMART自由口通信,如何编写发送程序,使用超级终端发送测试 今天我们学习编写西门子S7-200 SMART自由口通信的发送程序,并使用超级终端进行发送功能测试。首先设置参数,打开STEP7 Micro/WIN SMART编程软件,右键单击项目树中的CPU,选择打开,在打开的系统块中选择CPU类型和信号板类型。设置信号板,串口的类型为RS232,地址为2,波特率为9600。
性能测试--fiddler模拟弱网环境 产品在弱网环境下经常出现加载问题,影响用户体验甚至服务不可用。所以在测试过程中就需要模拟弱网络环境进行测试、问题复现,让开发调优
终端自动化测试探索之路 测试作为质量保证极其重要的一环,在移动App开发流程中起到非常关键的作用。从开发工程师到测试工程师,人人都应具备良好的测试意识,将隐患和风险在上线之前找出并解决,可以有效的减少线上事故。
干货|app自动化测试之模拟器控制 测试时需要用到测试设备,通常测试人员会选择使用模拟器进行自动化调试。模拟器分为原生模拟器与第三方模拟器。我们今天介绍的就是原生模拟器是 Android SDK 中自带的模拟器,可以通过 Android Studio 工具创建模拟器。 ## 创建/管理 原生模拟器 Android 虚拟设备(AVD)是一种配置,它可以定义 Android 模拟器例如:Android 手机、平板电脑、Wear O