前言
Airtest IDE 提供了四種斷言快捷斷言的方式
- assert_exists 斷言存在
- assert_not_exists 斷言不存在
- assert_equal 斷言相等
- assert_not_equal 斷言不相等
assert_exists 和 assert_not_exists 在前面這篇寫過https://www.cnblogs.com/yoyoketang/p/14803947.html
assert_equal
斷言2個值相等,實際結果等於期望結果
參數:
- first – 第一個值
- second – 第二個值
- msg – 斷言的簡短描述,它將被記錄在報告中
斷言失敗引發異常: AssertionError – 如果斷言失敗
返回: None
支持平台: Android, Windows, iOS
示例: >>> assert_equal(1, 1, msg="assert 1==1")
斷言兩個值相等,需傳入2個參數,實際結果和期望結果
assert_equal("實際結果", "期望結果", "請填寫斷言的簡短描述")
Airtest 是截圖圖片,需獲取頁面元素的文本,通常與 poco 獲取屬性的腳本一起做斷言,示例如下:
assert_equal(poco("com.taobao.taobao:id/dx_root").get_text(), "天貓新品", "控件的text屬性值為天貓新品")
assert_equal(str(poco(text="天貓新品").attr("enabled")), "True", "控件的enabled屬性值為True")
assert_not_equal
斷言兩個值不相等
參數:
- first – 第一個值
- second – 第二個值
- msg – 斷言的簡短描述,它將被記錄在報告中
引發: AssertionError – 如果斷言異常
返回: None
支持平台: Android, Windows, iOS
示例: >>> assert_not_equal(1, 2, msg="assert 1!=2")
使用示例
打開APP,斷言登錄按鈕文本是“登錄/注冊”
用Poco 輔助窗定位到元素,獲取元素的resourceId : b'com.netease.edu.study:id/account_default_text'
導入poco庫,.get_text()獲取文本,.attr("xx")獲取屬性
# -*- encoding=utf8 -*-
__author__ = "dell"
# 作者-上海悠悠 QQ交流群:717225969
# blog地址 https://www.cnblogs.com/yoyoketang/
from airtest.core.api import *
from poco.drivers.android.uiautomation import AndroidUiautomationPoco
poco = AndroidUiautomationPoco(use_airtest_input=True, screenshot_each_action=False)
auto_setup(__file__)
# 啟動指定app
start_app(package="com.netease.edu.study", activity="main.activity.ActivityMain")
touch(Template(r"tpl1622690503552.png", record_pos=(0.372, 0.829), resolution=(720, 1280)))
# 校驗按鈕文本值
actuel_text = poco("com.netease.edu.study:id/account_default_text").get_text()
assert_equal(actuel_text, "登錄/注冊", "登錄/注冊 按鈕文本值校驗")
運行后查看報告