我有一组可怕的编码器控制器,我现在无法重构。我需要将它们置于自动化测试之下,但是遇到了UIAutomation工具的问题。
这些控制器是动态生成的。有很多方法可以做到这一点,但有人认为最好是他们制作一个包含单元格的tableview,每个单元格包含更多的tableview,包含用户将看到并与之交互的单元格。
其中一个控制器的简单示例如下:
我需要自动按下其中一个表格视图单元格。
在遇到一些视图层次结构问题之后,我终于设法让logElementTree看到所有的单元格,并且具有正确的可访问性标识符。结果如下:
现在只是为了测试我可以按下脚本中的一个按钮......
NOPE。即使logTree清楚地显示它们存在并且可见,我似乎无法向下钻取元素。
任何想法都非常受欢迎。我对javascript不是很有经验,所以我可能会遗漏一些明显的东西。谢谢!
答案 0 :(得分:2)
回答我自己的问题,感谢WWDC的一位乐于助人的工程师:
target.frontMostApp().mainWindow().tableViews()[0].cells()[0].tableViews()[0].cells()["Open"].tap();