当前位置:首页 >> 节能

Airtest自动化测试篇——python撰写和执行用例(上)

来源:节能   2025年02月16日 12:18

到相联的电子系统了

2.3 直达iOS电子系统

和AirtestIDE中会马上工作一样,需要先在xcode内置iOS-Tagent:

devices:

#直达本地第一台APP

devices=["iOS:///",]:

#直达远程APP

devices=["iOS:///127.0.0.1:8100",]:

2.4 直达windows应用于

devices:

# 直达windows鼠标

connect_device("Windows:///")

# 根据后台句柄直达,可以在AirtestIDE的电子系统后台核对

devices=["Windows:///396680",]

# 直达windows应用于标题范式为:unity.*

connect_device("Windows:///?title_re=unity.*")

3. 编写剧本

3.1 多门

3.1.1 Airtest的圆周系

Airtest主要适用的是显然圆周系,即萤幕上左上角为圆周抛物线(0,0),右边为x轴承正向,向下为y轴承正向,左方圆周为最大解像度,例如720x1280解像度的APP,左方圆周为(720,1280)

airtest的touchAPI,无论如何其他用户的是一个 (x, y)显然圆周,在视频句子中会,airtest会先根据传入的视频发现该视频在局限性萤幕上的方位圆周,然后展开其他用户。

airtest的swipeAPI,旋转必经和旋转终点适用的也是(x, y)显然圆周。

3.1.2 可用视频的封装类Template

在对图像展开比对时,图像都被封装为一个Template类对象,其源代码为:

classTemplate(filename,threshold=None,target_pos=5, record_pos=None, resolution=(),rgb=False)

常量:

filename: 视频字节

threshold:比对阈倍数,预设一个系统0.7

target_pos: 其他用户视频的点(预设为5)

record_pos: 现场表演时的其他用户一般来说萤幕上中会心点的一般来说圆周点,由两个0-1之间的浮点数包含

resolution: 现场表演时,萤幕上的解像度

rgb: 比对结果是否适用rgb三通道展开冗余.

record_pos要和resolution定位两人适用 具体代码可参阅程式库:

_CN/latest/_modules/airtest/core/cv.html#Template

或多或少:

touch(Template(r"tpl1606371978472.png", record_pos=(0.194, 0.115), resolution=(720, 1280)))

3.2 常用api

3.2.1 模拟转换成

3.2.1.1 touch其他用户

touch(v, times=1, **kwargs)在局限性电子系统萤幕上展开一次其他用户

常量:

v:其他用户方位,可以是一个Template视频模板,或是一个显然圆周 (x, y)

times:其他用户每一次,预设一次

kwargs – 模拟涉及的常量 kwargs,特地参阅近似于的模拟API元数据

赶回:

实际其他用户方位圆周 (x, y)

或多或少:

touch(Template(r"./pic/10k.png"))

touch(Template(r"tpl1606371978472.png", record_pos=(0.194, 0.115), resolution=(720, 1280)))

3.2.1.2 swipe旋转

swipe(v1,v2=None,vector=None,**kwargs)在局限性电子系统萤幕上展开一次旋转可用

有两种适用模式:

swipe(v1, v2=Template(...)) # 从 v1 旋转到 v2

swipe(v1, vector=(x, y)) # 从 v1 开始旋转,沿着vector方向

常量:

v1:旋转的必经,可以是一个Template视频模板,或是显然圆周 (x, y)

v2:旋转的终点,可以是一个Template视频模板,或是显然圆周 (x, y)

vector:旋转动作的矢量圆周,可以是显然圆周 (x,y) 或是萤幕上百分比,例如 (0.5, 0.5)

**kwargs – 模拟涉及的常量 kwargs,特地参阅近似于的模拟API元数据

造成了:

Exception – 当不能足够的常量来执行旋转时造成了异常

赶回:

抛物线方位和要能方位

或多或少:

swipe(Template(r"tpl1606727895882.png", record_pos=(-0.158, -0.104), resolution=(1320,722)),Template(r"tpl1606727841951.png", record_pos=(0.008, 0.108), resolution=(1320, 722)))

3.2.1.3 text转换成

text(text, enter=True, **kwargs)在要能电子系统上转换成评注,评注框需要三东南面激活平衡状态(需要先其他用户一下转换成框)

常量:

text:要转换成的评注

enter:是否在转换成再后,执行一次 Enter ,预设是True

赶回:

None

3.2.1.4 keyevent按钮

keyevent(keyname, **kwargs) 在电子系统上执行keyevent按钮事件

常量:

keyname – 模拟涉及的按钮名称

**kwargs – 模拟涉及的常量 kwargs,特地参阅近似于的模拟API元数据

赶回:

None

或多或少:

#其他用户删除按钮

keyevent("KEYCODE_DEL")

keyevent("67")

想赶回上一个关键词时,会选择按touch赶回的UI滑鼠,但其实一般情况下keyevent(“BACK”)也可以远超目的,简单如此一来且兼容性又好 安卓模拟的按钮可以参阅: windows模拟参阅pywinauto支持的windows按钮 iOS电子系统直到现在无限期 只支持 HOME 按钮的keyevent

3.2.1.5 snapsshot截屏

snapshot(filename=None,msg="",quality=None, max_size=None)对要能电子系统展开一次视频,并且存放到文件中会

常量:

filename – 存放视频的字节,预设存放切线为 在在在在ST.LOG_DIR在在在在中会

msg – 视频文件的简短阐述,将会被结果显示在统计数据关键词中会

quality – 视频的质量,[1,99]的整数,预设是10

max_size – 视频最大尺寸, e.g 1200

赶回:

视频文件的显然切线

3.2.1.6 wait马上好

wait(v,timeout=None,interval=0.5,intervalfunc=None)马上好局限性萤幕上浮现某个冗余的Template视频

常量:

v – 要马上好浮现的要能Template模板

timeout – 马上好冗余的最大展开时等长时间,预设为None即预设合 ST.FIND_TIMEOUT 的倍数,预设20s

interval – 无论如何排序冗余项的时间等长(以秒为单位),预设0.5s

intervalfunc – 在首次无论如何排序冗余失败后的程序在函数

造成了:

TargetNotFoundError – 在展开时后仍未发现要能则一连串

赶回:

冗余要能的圆周

【未完待续...】

茂名哪个医院治疗白癜风最好
张家口白癜风哪里治疗好
桂林治疗白癜风的医院
流感能不能喝金笛复方鱼腥草合剂
血糖仪哪个牌子的好
康恩贝肠炎宁颗粒拉肚子管用吗
复方鱼腥草合剂和蓝芩口服液哪里不同
血糖仪哪个牌子好
友情链接