揭秘APP自动化测试中弹窗异常处理的技术要点!

本文介绍了在app自动化测试中如何有效处理弹窗异常,如广告弹窗、升级提示等非bug情况,通过黑名单处理和异常装饰器实现稳定性和可靠性。同时提到了软件测试资源库和全面的学习资料链接。
摘要由CSDN通过智能技术生成

简介

在 app 自动化测试中,弹窗异常处理是指处理应用程序中可能出现的各种弹窗、对话框或提示框等用户界面元素的情况。这些弹窗可能包括警告、确认、输入框等,它们可能是应用程序的正常行为,也可能是错误或异常的指示。有效的弹窗异常处理是自动化测试稳定性和可靠性的关键组成部分。

图片

使用场景

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

  • 弹框不是 BUG(UI 界面提示,警告的作用)

操作步骤

黑名单处理
def find(self, by, locator):    try:        return self.driver.find_element(by, locator)    except Exception as e:        for black in black_list:            eles = self.driver.find_elements(*black)            if len(eles) > 0:                eles[0].click()                return find(by, locator)        raise e
异常处理 - 装饰器
装饰器优势
  • 对原有函数的功能增强

  • 不改变原有函数的逻辑

  • 使代码更简洁、易维护

代码实现
# 声明一个黑名单def black_wrapper(fun):    def run(*args, **kwargs):        self = args[0]        try:            return func(*args, **kwargs)        except Exception as e:            # 这里添加所有的异常情况处理            # 日志            logger.warning("执行过程中发生异常")            # 截图            timestamp = int(time.time())            image_path = f"./images/image_{timestamp}.PNG"            page_source_path = \                    f"./page_source/{timestamp}_page_source.html"            # page_source            with open(f"./page_source/{timestamp}_page_source.html",\                     "w", encoding="u8") as f:                f.write(self.driver.page_source)            self.driver.save_screenshot(image_path)            allure.attach.file(image_path, name="image",\                     attachment_type=allure.attachment_type.PNG)            allure.attach.file(page_source_path, \                    name="page_source", \                    attachment_type=allure.attachment_type.TEXT)            raise e    return run
装饰元素查找方法
@black_wrapperdef find(self, by, locator)    return self.driver.find_element(by, locator)

总结

  • 黑名单处理

  • 异常处理装饰器

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

最后: 可以在公众号:自动化测试老司机 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值