用xpath获取toast提示时,发现不管我传入的message是什么,都可以捕获到

来源:1-19 如何获取tost元素

慕粉1224429473

2018-11-17

您好,我用xpath获取toast提示时,发现不管我传入的message是什么,都可以捕获到图片描述
比如上面这段代码,我传入的参数是“MyName”,我直接点击登录按键弹出toast提示是“请输入账号”,但是竟然可以匹配到MyName这个文本,返回True……我发现随便输入message都能匹配到

写回答

3回答

Well_D

2019-05-13

你好,我也碰到了这个问题,不论我输入的toast文本内容是什么,都会给我返回true,看了这个回答,我还是没搞清楚,这是什么原因导致的,能详细解释一下么

0
1
Well_D
msg_1 = "再按一次退出腾讯新闻" toast_match = (By.XPATH,"//*[contains(@text,msg_1)]") 这个写法应该是不对的,toast_match里是引用不到msg_1的值的
2019-05-13
共1条回复

慕粉1224429473

提问者

2018-12-02

问题解决了,首先传入msg的写法这么写就可以捕获到toast提示,

msg_1 = "再按一次退出腾讯新闻"
toast_match = (By.XPATH,"//*[contains(@text,msg_1)]")

如果按着下面的写法就无法捕获到toast提示,

msg_1 = "再按一次退出腾讯新闻"
toast_match = (By.XPATH,"//*[contains(@text,'+msg_1+')]")

区别就在于传递参数msg_1的写法,还有一个就是并不是所有点击显示几秒消失的都是toast,之前用自动化测试手机qq轻聊版,它那个登陆错误提示就不是toast,应该是一个image view之类的,所以捕获不到text

0
0

Mushishi

2018-11-18

哈哈,这是奇葩的过程,你好,你使用ec这个方法 系统只会判断你这个页面的dom中是否有这个元素,而不会关心你这个元素是否显示。你可以给更换成visible的这个方法。

0
3
Mushishi
回复
慕粉1224429473
你需要看你元素是需要找到是加载了还是显示,visible是显示,那么就必须肉眼可见,如果any就是加载,这个不一定能见到
2018-12-02
共3条回复

Python主讲移动端自动化测试框架Appium

APP自动化基础知识、po模型、关键字模型、服务自动化、持续集成

1508 学习 · 1333 问题

查看课程