图片类Template
参数介绍
airtest中的大部分api都离不开Template
这个图像类,熟悉该类对脚本稳定性有很大的帮助。
AirtestIDE录制后的touch
代码如下:
touch(Template(r"tpl1556019871196.png", record_pos=(0.204, -0.153), resolution=(1280, 720)))
在AirtestIDE中截的图,默认会自带3个参数,第一个参数是图片路径(IDE的截图显示相对路径),第二个record_pos
记录了截取这张图片时它所在的位置,第三个resolution
记录的是截取图片时,当前画面的分辨率。
record_pos
:让Airtest在回放脚本时优先在录制时的位置附近查找,如果找不到符合条件的图片,再扩大寻找范围到整个画面。这样能够提升查找图片的速度和精确度。resolution
:记录画面的分辨率,如果在不同设备上回放脚本,Airtest将会对当前画面的分辨率按照比例进行一定的缩放,方便图片的跨分辨率匹配。- 虽然直接使用图片路径来初始化一个
Template
类,也同样能够运行代码,但是为了能够适配更多分辨率的设备,以及提升图像查找速率,建议尽量填写参数。
AirtestIDE截取的图片将会自动生成对应的参数,如果对截取的图片不满意,可以使用图片编辑器功能修改图像参数来对图片进一步修改。
除了以上的设置,还有一个关键参数threshold
,例如:
touch(Template(r"tpl1556019871196.png", threshold=0.9)
threshold
为airtest的识别阈值,该值越大,识别越严格,默认值为0.8。范围为0到1,以上代码的意思是当识别结果的可信度大于等于90%时,airtest才认为这次图像识别匹配成功,这是一个相当严格的设置了。
core.settings
全局设置
在airtest.core.settings里,提供了部分全局默认属性,其中列举出几个常见属性和它们的默认值:
- LOG_DIR = None
- LOG_FILE = “log.txt”
- RESIZE_METHOD = staticmethod(cocos_min_strategy)
- CVSTRATEGY = [“mstpl”, “tpl”, “surf”, “brisk”]
- THRESHOLD = 0.7 # [0, 1]
- THRESHOLD_STRICT = 0.7 # [0, 1]
- OPDELAY = 0.1
- FIND_TIMEOUT = 20
- FIND_TIMEOUT_TMP = 3
- PROJECT_ROOT = os.environ.get(“PROJECT_ROOT”, “”) # for using other script
- SNAPSHOT_QUALITY = 10 # 1-100
- IMAGE_MAXSIZE = os.environ.get(“IMAGE_MAXSIZE”, None)
- SAVE_IMAGE = True