一、前置说明
在运行完Appium测试脚本之后,再次使用uiautomatorviewer定位页面元素时,经常会报错:
Error obtaining Ul hierarchy Reason: Error while obtaining Ul hierarchy XML file: com.android.ddmlib.SyncException: Remote object doesn't exist!
二、解决办法
出现该问题的原因是: Appium Session未结束,当前APP仍处于测试脚本控制之中,所以使用uiautomatorviewer定位页面时,会报"设备不存在"的错误。
方案一:使用quit()方法关闭Appium会话
driver.quit()
方案二:等待一段时间,让Android设备自动断开会话
等待设备自动断开当前会话,断开的标志是:自动退出测试脚本操作的页面,回到首页
三、其他说明
出现该问题,可能还有其他未知的原因,如果上面两种方法仍不能解决问题,那就重启设备、重启uiautomatorviewer。
请相信:有时候,重启可以解决大部分问题,哈哈
请参考 一键重启appium环境,一键启动过程如下:
- 启动模拟器
- 开启Android设备远程调试,并连接设备
- 启动uiautomatorviewer,用于定位元素
- 启动Appium Server,用于自动化移动应用程序的测试