解决关闭app权限弹框后无法识别页面对象问题

在使用appium进行安卓端app的自动化测试,我碰到这样下面这几个问题:

1、每次启动我的待测app时总会提示app权限

2、关闭完权限后,无法识别页面对象

 

第一个问题的解决,我更换不同的真机进行测试,弹框元素不一样,我写了一个类,专门来识别这些不一样的弹框,其中碰到一个问题,就是针对小米6手机进行真机测试的时候,

webdriver的click()无效,为了解决这个问题我增加了一种手机模拟点击操作(通过adb命令点击),解决了小米6手机上app权限弹框的关闭。

可是解决了上一个问题后就遇到了第二个问题,窗口关闭后不能识别页面对象。

这个问题困扰了我差不多2天时间,最后我改了几个地方完美解决:

1、把automationName改为UiAutomator2,改完需要重启appium才生效。

  UiAutomator2说明参考链接:https://www.jianshu.com/p/d8457a06c7b7

 

2、改完第一个后,出现了通过byname属性无法识别对象的问题。

尝试百更改appium的driver.js下的一个属性增加name也不能解决这个问题。然后找了很久发现,最新版本的appium提供的xpath完美替换通过byname属性查找问题。

参考链接:https://www.jianshu.com/p/6d71624cb5bb

 

做了上面的更改后还是不能很好的识别,为了增强我在查找元素的时候都做了一个切换到当前窗口的操作,后面就都正常识别了。

 

posted @ 2019-06-27 15:20  博琴雅心  阅读(356)  评论(0编辑  收藏  举报