测试新手必看——— 一行代码教你解决的问题

对于刚开始作自动化测试的新手同窗来讲,咱们仍是很是建议你们经过IDE提供的设备窗口去链接测试设备的:
php

 

 

 

 这样不只能够很是直观地看到设备的画面;还能够在运行脚本时,自动帮你们生成带链接设备参数的运行命令,减小不少没必要要的错误:nginx

 

 

 

固然,不少同窗也会有 脱离IDE来跑自动化脚本 的需求,这时候就须要咱们本身添加设备链接参数。一般咱们能够用如下俩种方式来链接设备:面试

① 在 脚本 中添加链接设备的参数正则表达式

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

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

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

在初始化设备的时候,咱们会用到如下的URI字符串,不一样设备的URI字符串格式会略有不一样(建议收藏,用到的时候再翻一翻)ruby

自动化软件测试交流!!!群:642830685,领取最新软件测试资料大厂面试和Python自动化学习资料!一块儿学习交流

1.链接Android手机

···bash

# 什么都不填写,默认取当前链接中的第一台手机
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 接口less

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

 

 

 

 

 
 

其中第二个参数就是指定运行脚本的设备,咱们能够在这里 传入待链接设备的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") 复制代码

 

 

 

若是须要链接多台设备,能够编写多条的 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") 复制代码

 

 

 

 

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

 

在本地命令行运行脚本时,若是脚本中没有任何链接设备的语句,咱们就须要经过 --device URI字符串 来链接设备:

 
airtest run D:/test/test_connect.air --device Android:/// 复制代码
 

不然命令行会提示你没有链接设备:

 

 

 而且脚本中若是涉及了须要链接设备才可以执行的脚本,好比 touch(截图) 等,则会出现以下报错:

 

 

 

另外,若是你的设备须要添加备选的链接参数才能够正常链接,好比 模拟器或者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平台下须要转义成 /&/& 。不然有可能出现因运行命令被截断而产生的各类报错。

自动化软件测试交流!!!群:642830685,领取最新软件测试资料大厂面试和Python自动化学习资料!一块儿学习交流

若是以为对您有帮助!!!!收藏+点个赞在走呗!

相关文章
相关标签/搜索