使用UIAutomation时是否可以避免使用可访问性标签?
答案 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中使用的那个。