UIAutomation中的辅助功能标签

时间:2012-02-03 16:18:17

标签: ios testing ui-automation ios-ui-automation

使用UIAutomation时是否可以避免使用可访问性标签?

3 个答案:

答案 0 :(得分:3)

如果您希望UIAutomation看到它,而不是VoiceOver等应用程序,则应使用 UIAccessibilityIdentification 协议的accessibilityIdentifier属性。
它允许您设置稍后通过UIAElement.name

看到的值

通常,未设置时,名称将从标签复制。
但是当VoiceOver看到第二个时,第一个不是。

这在iOS 5.0及更高版本中可用。

您还可以查看 UIAccessibility 协议,它有一些更好的技巧。

答案 1 :(得分:1)

除非您的应用非常简单*,否则不是。 UIAutomation依赖于可访问性标签。

即使您可以这样做,也不会省力,您仍然需要为UIAutomation提供一些方法来识别您的UI元素。

*简单的情况是在屏幕上一次只有一个不同的UIView子类。在这种情况下,UIAutomation将生成对未命名元素的匿名引用,这些引用允许脚本蹒跚而行。但它非常脆弱。

答案 2 :(得分:1)

通常,您有两种方法可以访问元素:按标签或按其排名。 示例:

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

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

您可以通过单击脚本编辑器中的元素来选择要在UIAutomation中使用的那个。