appium -- 页面出现弹窗,关闭后,无法识别页面元素(转)

原文:https://www.cnblogs.com/leavescy/p/9733001.html ;

1. 问题:如图所示:在修改手势密码的过程中,点击了返回按钮后,弹出该弹窗;点击继续设置后,就发现

driver.getPageSource()获取不到页面元素。在找了一圈无用的资料后,没有什么好的处理方式,本来想着那我就放弃设置就好了。 结果在别的页面也出现了类似的情况。最终只能硬着头皮解决该问题了。

2. 解决方法:

   方法真的很简单,就一行代码, 将Appium换成了uiautomator2, 结果就成了。

  

3. 引发的一连串问题

   上述问题解决了,但是又出现新的幺蛾子。 

   幺蛾子1: 这是原来我的用户名和密码登录页的方法。 完全可以正常登录。但是将 将Appium换成了uiautomator2后,登录就出现了问题。

输入完用户名后,底下还存在一堆的模糊输入。那我就click一下喽。没想到在输入完密码后, 这个click不知道什么鬼,竟然把密码都删掉了;

那我登录个鬼啊, 用例自然都失败了;那怎么办,找办法解决喽。

解决方法:

 将方法中的sendKeys()方法替换为setValue()方法。 没错就是这么简单,结果成了。

幺蛾子2:

   在我替换完方法后,原来可以输入中文的部分,现在输不进去。无奈,只能将用户名&密码 部分和别的地方的输入方法单独做处理;也就是上面的两个方法,一个用于用户名和密码的登录,一个用户正常的输入;

软件测试
原文地址:https://www.cnblogs.com/dorlin/p/10369145.html