Appium 在 page 框架下,搭配 appium 创建 UI 自动化 2:toast 弹窗获取方法

徐健鑫 · 2019年11月27日 · 1298 次阅读

Android 的 toast 弹窗通过 appium 桌面版是无法获取到元素信息的,或者说获取到的元素信息,无法通过 find_element 的方式去定位的;
根据网络上的资料,和大神的一些博客,可以通过以下的方式获取,代码如下:

# 指定 toast 弹窗的内容
def get_toast_text(self, locator, by=By.XPATH, wait=5, requence=0.01, model='model'):
"""
########################################
描述:获取 Toast 的文本信息
参数:text 需要检查的提示信息 time 检查总时间 poll_frequency 检查时间间隔
返回值:返回与之匹配到的 toast 信息
异常描述:none
########################################
"""
logging.info("查找 toast")

message = (by, locator)
toast_element = WebDriverWait(self.driver, wait, requence).until(EC.presence_of_element_located(message))

try:
return toast_element.text

except:
logging.exception("未查找到 toast 信息")
self._save_screenShot(model)
raise

备注:如果打印出来的 toast_element 内容为:

就代表成功了

需要注意以下几点:
1.只有 appium1.6.3 以上才支持定位 toast 弹窗;
2.必须要在 desired_caps 中新增:desired_caps['automationName'] = 'uiautomator2';因为只有 Uiautomator2 才能定位到;

具体框架代码如下:


参考原文地址:http://www.mamicode.com/info-detail-2504814.html

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册