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

 

posted on 2022-08-29 11:57  louis_w  阅读(605)  评论(0编辑  收藏  举报

导航