想要抓取 toast,uiautomator2-driver 已经通过 cnpm 安装了,路径下也能找到对应的文件,执行的时候 app 有自动安装 io.appium.uiautomator2.server,app 也有对应的 toast 出现,但是就是获取不到 toast 信息,请求各位大神帮忙研究一下
'//*[contains(@text, "%s") 当然这种 xpath 的定位方式我也试过了,也是一样的定位不了,真的很苦恼不知道问题出在哪里
检查一下定位的时候有没有延时等待,或者跟开发沟通下,把这个 toast 的显示时间增加试试
有的,专门写了定位 toast 的方法,给了 10s, element = WebDriverWait(self.driver, 10, 0.01).until(EC.presence_of_element_located(loc)),debug 也是死在这一步,测试的时候,肉眼可见,toast 的时间至少出现三秒,完全是够用的,我还尝试了其他地方的 toast 信息,也是一样不行,所以才很苦恼呀
自己写个有 toast 的 APP 试试
说不定你们 APP 里这个根本不是 toast
看截图 你这个应该是相机的预览 ,是动态页面 ; 和这个问题应该是一样的; 执行定位 toast 时超时,等开始查找 toast 时 toast 已经消失了
https://testerhome.com/topics/27224
是 toast 的,我这边有看过源码,给的确实是 toast,定位不上应该还是我代码的问题,只是没找到问题在哪,说不准还是我环境哪里没弄好
有没有试过 press 之后就在 setliveroomname 中马上 logger toast,不通过 find 和 get 函数的那种,直接在下面写:
element = WebDriverWait(self.driver, 10, 0.01).until(EC.presence_of_element_located(by.xpath, ""))
logger.info(element.toast)
看一下是否有值
用 OCR 识别吧,多端都可以
请问解决了吗,我也是有的界面获取不到 toast,同样是用一个封装好的判断 toast 是否存在方法,有的页面行,有的就不行。而且确认是 toast,不是 webview 仿的
楼主解决了吗,我也遇到了同样的问题,toast 始终获取不到