APP自动化异常处理机制

该博客介绍了如何使用trycatch进行异常捕获,并结合一个基础的UI自动化测试框架实现异常处理,特别是在找不到元素时,通过黑名单点击进行错误恢复。此外,展示了数据驱动测试的实现方式,读取main.yml文件执行测试步骤,包括点击等操作。
摘要由CSDN通过智能技术生成

1.利用try catch捕获异常
2.异常处理弹框

参考链接:https://github.com/yuruotong1/ui_framework

#main.yml文件内容
- by: id
  locator: tv_search
  action: click
#base_page.py文件内容
import yaml
from appium.webdriver.webdriver import WebDriver
from selenium.webdriver.common.by import By


class BasePage:
    _driver: WebDriver
    
    #定义黑名单列表
    _black_list=[(By.ID, "iv_close")]

    def __init__(self, driver: WebDriver = None):
        self._driver = driver

	#查找元素的时候通过try catch捕获异常
    def find(self, locator, value):
        try:
            element =  self._driver.find_element(locator, value)
            return element
        except:
            for black in self._black_list:
                elements = self._driver.find_elements(*black)
                if len(elements) > 0:
                    elements[0].click()
                    break
            # 处理完黑名单后,再次找原来的元素
            return self.find(locator, value)

	#测试步骤的数据驱动
    def steps(self, path):
        with open(path) as f:
            steps = yaml.safe_load(f)
        element = None
        for step in steps:
            if "by" in step.keys():
                element = self.find(step["by"], step["locator"])
            if "action" in step.keys():
                action = step["action"]
                if action == "click":
                    element.click()

后面打造框架会再次进行构造

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值