我的目标是在浏览模拟器的同时生成每个屏幕的XML。
所以我最初的想法是在测试运行时运行shell命令uiautomator dump
。 uiautomator dump
确实生成了当前屏幕的完整XML。但是,由于以下错误,程序在执行命令后立即停止:
java.lang.IllegalStateException:UiAutomationService未连接。 你有没有打电话给#register()?
因此,我转而使用DumpWindowHierarchy
类中的内置函数UiDevice
。不幸的是,它并没有解决问题。虽然程序可以正常运行而不会断开连接,但DumpWindowHierarchy
不能生成当前屏幕的正确XML。
对解决方案有何想法?有没有其他方法可以在执行uitest时捕获当前屏幕的XML。或者至少如何在程序执行期间解决UiAutomationService not connected
错误。