appium常用断言方式

137 阅读1分钟

Appium 中常用的断言方法:

  1. 基础断言
assert element.is_displayed()  # 断言元素可见
assert element.is_enabled()    # 断言元素可用
assert element.is_selected()   # 断言元素被选中
  1. 文本相关断言
# 获取元素文本并断言
actual_text = element.text
assert actual_text == "预期文本"
assert "部分文本" in actual_text
assert actual_text.startswith("开头文本")
assert actual_text.endswith("结尾文本")
  1. 属性相关断言
# 断言元素属性值
attribute_value = element.get_attribute("属性名")
assert attribute_value == "预期值"

# 常用属性断言示例
assert element.get_attribute("enabled") == "true"
assert element.get_attribute("checked") == "true"
assert element.get_attribute("text") == "预期文本"
  1. 元素存在性断言
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait

# 断言元素存在
assert len(driver.find_elements_by_id("元素ID")) > 0

# 使用显式等待进行断言
wait = WebDriverWait(driver, 10)
assert wait.until(EC.presence_of_element_located((By.ID, "元素ID")))
  1. 页面状态断言
# 断言当前页面URL
assert driver.current_url == "预期URL"

# 断言当前页面标题
assert driver.title == "预期标题"
  1. 元素位置和大小断言
# 获取元素位置和大小
location = element.location
size = element.size

# 断言元素位置
assert location['x'] == 预期x坐标
assert location['y'] == 预期y坐标

# 断言元素大小
assert size['width'] == 预期宽度
assert size['height'] == 预期高度
  1. 自定义等待断言
def custom_condition(driver):
    element = driver.find_element_by_id("元素ID")
    return element.text == "预期文本"

# 使用自定义条件进行断言
wait = WebDriverWait(driver, 10)
assert wait.until(custom_condition)

小结:

1.建议结合 try-except 使用断言,以便更好地处理异常情况 2.对于需要等待的元素,最好使用显式等待而不是直接断言 3.可以根据具体测试场景组合使用多个断言