Airtest IDE 自动化测试4—断言存在(assert_exists)和断言不存在(assert_not_exists)
前言
Airtest IDE 提供了四种快捷断言的方式
- assert_exists 断言存在
- assert_not_exists 断言不存在
- assert_equal 断言相等
- assert_not_equal 断言不相等
断言存在(assert_exists)
assert_exists(*args,**kwargs)设备屏幕上存在断言目标
参数
- v 要检查的目标
- msg 断言的简短描述,它将被记录在报告中
- AssertionError 如果断言失败
返回
- 目标坐标
支持平台:Android,Windows,IOS
示例:assert_exists(Template(r"a.png","assert exists")
使用示例,断言“我的”页面存在“登录/注册”按钮
运行用例后查看测试报告
断言不存在(assert_not_exists)
assert_not_exists 跟上面的assert_exists 用法一样
断言我的页面不存在“新课推荐”
断言失败 AssertionError
当断言失败的时候,会抛出AssertionError异常,程序不会继续往下走了
在我的页面,查找“新课推荐”,断言会失败
关于查找超时
当页面上找不到元素的时候,不会立马断言失败,此时会有个timeout时间,默认是20秒
ST.FIND_TIMEOUT 是在setting.py文件配置的,默认查找超时是20s
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#airtest.core.setting.py<br>class Settings(object): DEBUG = False LOG_DIR = None LOG_FILE = "log.txt" RESIZE_METHOD = staticmethod (cocos_min_strategy) # keypoint matching: kaze/brisk/akaze/orb, contrib: sift/surf/brief CVSTRATEGY = [ "mstpl" , "tpl" , "surf" , "brisk" ] if LooseVersion(cv2.__version__) > LooseVersion( '3.4.2' ): CVSTRATEGY = [ "mstpl" , "tpl" , "sift" , "brisk" ] KEYPOINT_MATCHING_PREDICTION = True THRESHOLD = 0.7 # [0, 1] THRESHOLD_STRICT = None # dedicated parameter for assert_exists 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 https://pillow.readthedocs.io/en/5.1.x/handbook/image-file-formats.html#jpeg # Image compression size, e.g. 1200, means that the size of the screenshot does not exceed 1200*1200 IMAGE_MAXSIZE = os.environ.get( "IMAGE_MAXSIZE" , None ) SAVE_IMAGE = True |
判断元素不存在,查找超时时间是FIND_TIMEOUT_TMP=3