airtest自动化测试教程 airtest图片识别原理( 三 )
5. PROJECT_ROOT
可以通过设定一个默认项目根目录PROJECT_ROOT,让使用using接口时能够在当前根目录下寻找别的子脚本,无需填写完整路径,让脚本之间相互调用使用更加方便
6. 图像识别算法选择CVSTRATEGY
在Airtest中,提供了多种不同的图像识别算法,方法名列表有:
["tpl", "kaze", "brisk", "akaze", "orb", "sift", "surf", "brief"] 。
具体每个算法的识别效果、内存占用等评估数据,可以参考Airtest/benchmark文档,在实际使用中,由于使用场景、图片分辨率大小以及手机类型的多寡不同,每个算法具体的表现优劣情况也有所不同,因此大家可以用自己的使用案例来进行算法的测试,选择更合适的算法 。
在Airtest脚本中,使用以下代码来设定脚本中的图像匹配算法
1.3 模拟特殊按键
在脚本中,有时需要输入一些指定的按键,例如点一下HOME键、BACK键等,如果设备是Android设备,可以参考谷歌的 Android按键码 (国内用户如果打不开此链接,可直接以关键词:Android keyevent 搜索) 。
示例:keyevent("KEYCODE_DEL") 或者直接输入按键码,注意参数为字符串:keyevent("67")
在Windows系统中,请参考 pywinauto 这个库提供的 Windows按键码
示例:keyevent("{BACKSPACE}")
iOS设备现在暂时 只支持 HOME 按键的keyevent 。
android的按键参考:
https://developer.android.com/reference/android/view/KeyEvent
1.4 输入文字
在脚本中,如果想要实现文字输入,一般需要这样的流程:
1. 点一下你需要输入的位置,激活输入光标
2. 调用airtest的 text() 接口来输入内容

文章插图
如图,在这个脚本里 先点击了需要输入的位置,然后调用了text接口进行输入,在运行时手机将会自动被安装一个名为 yosemite.apk 的应用,然后启用 yosemite输入法来进行输入 。
而且需要注意的是,在使用过text接口后,手机输入法会被切换为yosemite输入法,因此看不到正常键盘了(无需惊慌) 。如果需要手工输入,可以在系统的输入法设置中,把输入法切换回系统输入法即可恢复 。同时我们也提供了 安卓手机助手功能,在手机助手中可以简单地点击鼠标来切换输入法 。
1.5 局部截图/区域截图
局部截图或者说按坐标截图是大家经常会问到的问题,Airtest提供了 crop_image(img, rect) 方法可以帮助我们实现局部截图

文章插图
# -*- encoding=utf8 -*-
__author__ = "AirtestProject"
from airtest.core.api import *
# crop_image()方法在airtest.aircv中,需要引入
from airtest.aircv import *
auto_setup(__file__)
screen = G.DEVICE.snapshot()
# 局部截图
screen = aircv.crop_image(screen,(0,160,1067,551))
# 保存局部截图到log文件夹中
推荐阅读
- 教你快速测试自家网速 怎么查看网速
- 苹果手机12跟华为40网速测试 苹果12和华为mate40网速对比
- 英雄联盟手游不删档不限量测试 lol手游不限号不删档什么意思
- 孕妇测试男孩女孩的土方法
- 十二星座爱情测试 星座爱情测试
- 什么是四优生 什么时候做?
- 水管如何做打压测试 打压测试
- 盘点6张色盲自测图 色弱测试
- 十二星座配对测试爱情 星座配对测试爱情
- 心理测试 财运测试题
