Python+Appium 查找 toast 方法的封装
使用场景:在操作应用时常见toast弹框,通过toast弹框信息的获取判断当前的某个操作是否成功
引用的包:from selenium.webdriver.support import expected_conditions as EC,\expected_conditions
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
截图如下,查找如下截图中的toast内容,判断给出的值是否与实际toast的值是否相等,相等则正常执行,不相等直接走except异常内容,如下:
第一种封装方法:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC,\
expected_conditions
def find_Toast2(self,message): #查找toast值 ''' method explain:查找toast的值,与find_Toast实现方法一样,只是不同的2种写法 parameter explain:【text】查找的toast值 Usage: device.find_Toast2('再按一次退出iBer') ''' logging.info("查找toast值---'%s'" %(message)) try: message = '//*[@text=\'{}\']'.format(message) WebDriverWait(self.driver,5,0.5).until(expected_conditions.presence_of_element_located((By.XPATH,message))) logging.info("查找到toast----%s"%message) return True except: logging.info("未查找到toast----%s"%message) return False
第二种封装方法如下:
def find_Toast(self,message,timeout=5,poll_frequency = 0.5): #查找toast值 ''' method explain:查找toast的值 parameter explain:【text】给定的toast值 Usage: device.find_Toast('再按一次退出iBer') ''' logging.info("获取toast值---'%s'" %message) try: toast_loc = ("xpath",".//*[contains(@text,'%s')]" %message) WebDriverWait(self.driver,timeout,poll_frequency).until(EC.presence_of_element_located(toast_loc)) logging.info("查找到toast--'%s'"%message) return True except: logging.info("未查找到toast--'%s'"%message) return False
说明:
获取toast的方法封装点击链接:http://www.cnblogs.com/syw20170419/p/8280115.html
1.作者:Syw 2.出处:http://www.cnblogs.com/syw20170419/ 3.本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 4.如果文中有什么错误,欢迎指出。以免更多的人被误导。 |
分类:
Appium+python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?