2012-02-03 73 views

回答

1

除非你的应用程序非常简单*,它不是。 UIAutomation依赖可访问性标签。

即使您可以这样做,您也不会节省任何努力,您仍然需要提供某种方法让UIAutomation识别您的UI元素。

*简单情况下,屏幕上只有一个不同的UIView子类。在这种情况下,UIAutomation将生成对unanamed元素的匿名引用,这些引用允许您的脚本一起蹒跚前行。虽然这很脆弱。

1

一般来说,您有两种访问元素的方法:按其标签或按其级别。 例子:

target.frontMostApp().mainWindow().tableViews()[0] 

target.frontMostApp().mainWindow().tableViews()["Contents"]

你可以选择你想通过点击脚本编辑器中的元素在UIAutomation使用哪一个。

3

如果您希望UIAutomation能够看到它,而不是VoiceOver等应用程序,您应该使用accessibilityIdentifier属性UIAccessibilityIdentification协议。
它允许你设置后看到槽UIAElement.name

通常不设置当值,标签复制。
但是,当第二个被VoiceOver看到时,第一个不是。

这适用于iOS 5.0及更高版本。

你也可以看看UIAccessibility协议它有一些更好的技巧。