解决关闭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
做了上面的更改后还是不能很好的识别,为了增强我在查找元素的时候都做了一个切换到当前窗口的操作,后面就都正常识别了。
你再不自己敲代码,你的四肢就退化了