python进行app自动化测试时,遇到弹窗的处理

进行app ui自动化测试时,app内会不定时的出现弹窗,特别是启动app后,会出现开屏广告、广告弹窗、升级弹窗、消息提示弹窗等。

这些弹窗出现的时机和页面都不确定。弹窗出现时,会定位不到原来需要的元素,这时需要先将弹窗关闭,才能定位到原来的元素。

封装一个方法,这样不用在测试用例中,每次定位元素时都重新写try...except语句;

方法内,把关闭弹窗的定位元素加入到弹窗列表中;

再使用try...except,当定位不到元素时,遍历弹窗列表,判断是否有弹窗元素,如果有,关掉;再递归函数-定位原来的业务元素,如果依然定位不到,继续遍历弹窗列表。如果遍历弹窗列表都没找到弹窗元素,就抛异常。

处理弹窗方法:

#myException.py文件
from appium.webdriver.common.appiumby import AppiumBy


def myFindElement(driver, by1, ele):
    # 弹窗列表的关闭按钮元素
    poplist = [(AppiumBy.ID, 'com.xx.xxx:id/close'),
               (AppiumBy.ID, 'com.xx.xxx:id/confirm'),
               (AppiumBy.XPATH, '//*[@text="跳过"]')]

    try:
        return driver.find_element(by1, el
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值