我使用以下配置在iOS上自动化应用程序:OSX 10.11.6,Appium 1.5.3,Xcode 7.3.1。从服务器加载数据后,除了一页之外,我可以将Appium Inspector用于大部分应用程序。该页面包含1000个UIATableCell,每个UIATableCells包含5-8个UIAElements(实际上一次只有大约6-10个单元格显示在屏幕上)。当我单击刷新按钮以在检查器上加载此页面时,刷新按钮上的旋转轮旋转约8-10分钟然后停止并且屏幕截图不会更新。日志显示它实际上是获取页面源,但是它非常长并且需要超过10分钟才能打印出来。 Appium检查器没有崩溃,它只是没有更新到当前的屏幕截图。
我让开发团队创建了一个只从服务器加载2行数据的构建,并且我能够使用检查器正确查看所有元素。在做了一些研究之后,我发现iOS UI Automation正在收集页面上的所有元素,即使它们不在屏幕上而且没有显示。 (与Android不同,我认为只返回屏幕上的元素,这就是为什么我能够在Appium检查器中看到此页面上的元素来构建我的Android版本)当我通过代码运行它时,也会发生这个问题并阻止我在此页面上编写脚本测试。
有没有办法限制iOS UI自动化只返回屏幕上的元素?或者是否有任何工作或尝试解决此问题的任何有用信息?
非常感谢任何帮助。
谢谢。