5

我正在尝试自动化测试具有 CA 层对象的应用程序的测试。Apple 提供的 UI 自动化框架不识别 CA Layer 对象。我想要一个有助于识别 CA 层对象的 ui 自动化工具列表。请问我可以得到工具列表吗?

4

1 回答 1

4

UI 自动化无法访问 CA 层对象,因为它们没有暴露给 iOS 中的可访问性机制。您可以从符合UIAccessibilityContainer协议的对象开始,将您的层暴露给可访问性 API。该对象将提供一组UIAccessibilityElement对象,这些对象将反映您的 CA 层的表示。那时,UI 自动化将能够“看到”用户在查看原始 CA 层时看到的内容。

使用此策略您可以获得两个好处。您的应用程序现在可以通过视觉障碍者的 Voice Over 等功能访问,并且您可以通过 UI 自动化与您的应用程序对话。

UIKit对于不使用为您提供可访问性的本机功能的应用程序,这是 Apple 建议的。恕我直言,我认为走这条路是个好主意,因为 Apple 在可访问性功能上下了很大的赌注,而且未来它只会随着与操作系统的集成而更深入。

于 2012-11-05T14:06:20.297 回答