软件测试/测试开发丨App自动化测试-弹窗异常处理

284 篇文章 3 订阅
255 篇文章 3 订阅

黑名单处理

  • 运行过程中不定时弹框(广告弹窗,升级提示框,新消息提示框等等)
  • 弹框不是 BUG(UI 界面提示,警告的作用)

方法一:常规处理

  1. def find(self, by, locator):

  2. try:

  3. return self.driver.find_element(by, locator)

  4. except Exception as e:

  5. for black in black_list:

  6. eles = self.driver.find_elements(*black)

  7. if len(eles) > 0:

  8. eles[0].click()

  9. return find(by, locator)

  10. raise e

方法二:装饰器处理

装饰器的优势

  • 对原有函数的功能增强
  • 不改变原有函数的逻辑
  • 使代码更简洁、易维护
  1. __BLACK_LIST = []

  2. def black_handle(func):

  3. """黑名单处理机制"""

  4. def _inner(*args, **kwargs):

  5. inner_arg = args[0]

  6. try:

  7. func(*args, **kwargs)

  8. # logger.info(f"查找元素:{locator}--->成功")

  9. except Exception as e:

  10. logger.info("未找到元素")

  11. logger.info(f"异常信息:{e}")

  12. logger.info("处理异常")

  13. for i in __BLACK_LIST:

  14. elements = inner_arg.driver.find_elements(*i)

  15. if len(elements) > 0:

  16. elements[0].click()

  17. return func(*args, **kwargs)

  18. raise e

  19. return _inner

装饰函数或方法

  1. @black_handle

  2. def do_find(self, locator: tuple):

  3. """获取单个元素"""

  4. element = self.driver.find_element(*locator)

  5. logger.info(f"查找元素:{locator}--->成功")

  6. return element

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

  • 12
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值