在 app 自动化测试中,弹窗异常处理是指处理应用程序中可能出现的各种弹窗、对话框或提示框等用户界面元素的情况。这些弹窗可能包括警告、确认、输入框等,它们可能是应用程序的正常行为,也可能是错误或异常的指示。有效的弹窗异常处理是自动化测试稳定性和可靠性的关键组成部分。
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_wrapper
def find(self, by, locator)
return self.driver.find_element(by, locator)
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。