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 按钮的keyevent3.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 – 在展开时后仍未发现要能则一连串
赶回:
冗余要能的圆周
【未完待续...】
。茂名哪个医院治疗白癜风最好张家口白癜风哪里治疗好
桂林治疗白癜风的医院
流感能不能喝金笛复方鱼腥草合剂
血糖仪哪个牌子的好
康恩贝肠炎宁颗粒拉肚子管用吗
复方鱼腥草合剂和蓝芩口服液哪里不同
血糖仪哪个牌子好
-
这些年,;也物业的“外行”投资者们
到2021年,开年三家分别为荣万家、宋都免费、星盛零售业,星盛零售业也获得了很高注资。但紧接着后继气弱,结构上估值持续崩盘,但试水从业者的股票的产品却或许并未被受骗,却是每家并购物企只