【App自动化测试】(十二)App异常弹框处理
创始人
2024-02-15 09:47:42
0

目录

  • 1. app弹框异常处理——递归方式
    • 1.1 黑名单弹框异常处理逻辑
    • 1.2 实现代码
    • 1.3 方法缺点
  • 2. app弹框异常处理——装饰器版本
    • 2.1 装饰器的优势
    • 2.2 实现代码


前言
本文为在霍格沃兹测试开发学社中学习到的一些技术写出来分享给大家,希望有志同道合的小伙伴可以一起交流技术,一起进步~ 😘

app异常弹框是正常现象,比如系统弹框,使用过程中出现电话和信息。

弹框出现的位置和时机是非常不确定的,可能会出现在开始使用app时,也可能出现在app使用结束时。因此处理异常弹框的功能最好封装在框架层,可以在每次查找元素的时候来进行判断是否有弹框存在。

1. app弹框异常处理——递归方式

1.1 黑名单弹框异常处理逻辑

对于可预期的弹框,可使用黑名单弹框异常处理逻辑。

在这里插入图片描述

1.2 实现代码

    def find(self,by,locator):try:return self.driver.find_elementby(by,locator)except Exception as e:print("未找到元素,处理异常")# 使用find_elements()未找到的话会返回null,不会报错,可以保证流程正常进行下去。find_element()会报错导致程序无法正常运行下去eles = self.driver.find_elements(*black)if len(eles) > 0:#点击弹框eles[0].click()#继续查找元素return self.find(by,locator)raise e

1.3 方法缺点

  1. 当业务功能增加,逻辑复杂,代码会越来越复杂
  2. 代码不易理解与维护

2. app弹框异常处理——装饰器版本

2.1 装饰器的优势

  1. 对原有函数的功能增强
  2. 不改变原有函数功能的逻辑
  3. 使代码更简洁、更易维护

2.2 实现代码

  • 运行过程中不定时弹框(广告弹框、升级提示弹框、新消息提示弹框等等)

  • 弹框不是bug(ui界面提示、警告的作用)

# 声明一个黑名单
def black_wrapper(fun):def run(*args, **kwargs):basepage = args[0]try:return fun(*args, **kwargs)except Exception as e:for black in black_list:eles = basepage.driver.find_elements(*black)if len(eles) > 0:eles[0].click()return fun(*args, **kwargs)raise ereturn run@black_wrapper
def find(self, by, locator)return self.driver.find_element(by, locator)

文末说明:
接口测试中我们很容易混淆Session、cookie和token,你知道他们有什么区别吗?

快来跟我一起看,一篇文章让你了解三者的区别。😎
⬇⬇⬇⬇⬇⬇⬇
👍👍👍:接口测试经典面试题:Session、cookie、token有什么区别?

相关内容

热门资讯

三部门部署开展“法援志愿行”活... 新华社北京12月23日电(记者齐琪)记者12月23日从司法部获悉,司法部、教育部、共青团中央印发通知...
莆田12岁女孩被虐死案生父改判... 福建省高院此前对莆田12岁女孩被虐死案作出二审判决,维持了对继母许金花的死刑判决。而对于被害女孩的生...
原创 丰... 丰臣秀吉生前创立的五大老·五奉行体制一直是学界研究的热点。通常认为,五大老是在秀吉去世后,成为丰臣政...
李营营律师:员工利用仿冒手段“... 人民法院案例库:员工利用仿冒手段“飞单”,行为性质如何认定? 手段行为分别构成侵害商标权、侵害企业名...
男子长期偷窥女室友,把摄像头装... 一个安全的居住空间对每个人意味着什么?它不仅是遮风挡雨的居所,更是城市给予奋斗者最基本的尊严与保障。...
多位作家发起版权诉讼,指控六大... 【环球网科技综合报道】12月23日消息,据彭博社报道,一场版权诉讼在美国科技与文学领域掀起波澜。包括...
因纠纷残杀幼童 行凶者一审被判... 2025年12月23日,广东省湛江市中级人民法院一审公开宣判被告人易庚华故意杀人案,以故意杀人罪判处...
新修订《治安管理处罚法》规定“... 极目新闻记者 邓波 2026年1月1日起,新修订的《中华人民共和国治安管理处罚法》将正式施行,其中第...
住房城乡建设部:加快构建房地产... 记者今日从住房城乡建设部获悉,12月22日至23日,全国住房城乡建设工作会议在北京召开。会议全面盘点...
OpenAI等六大AI巨头遭作... 界面新闻记者 | 宋佳楠 当地时间12月22日,两届普利策新闻奖得主约翰·卡雷鲁牵头的作家群体,向...