【发布时间】:2012-11-05 12:52:28
【问题描述】:
我正在尝试自动化测试具有 CA 层对象的应用程序的测试。 Apple 提供的 UI 自动化框架不识别 CA Layer 对象。我想要一个有助于识别 CA 层对象的 ui 自动化工具列表。请问工具列表可以吗?
【问题讨论】:
标签: ios object user-interface calayer ios-ui-automation
我正在尝试自动化测试具有 CA 层对象的应用程序的测试。 Apple 提供的 UI 自动化框架不识别 CA Layer 对象。我想要一个有助于识别 CA 层对象的 ui 自动化工具列表。请问工具列表可以吗?
【问题讨论】:
标签: ios object user-interface calayer ios-ui-automation
UI 自动化无法访问 CA 层对象,因为它们没有暴露给 iOS 中的可访问性机制。您可以从符合UIAccessibilityContainer 协议的对象开始,将您的层暴露给可访问性 API。该对象将提供一组UIAccessibilityElement 对象,这些对象将反映您的 CA 层的表示。届时,UI 自动化将能够“看到”用户在查看原始 CA 层时看到的内容。
您可以通过此策略获得两个好处。您的应用现在可以通过视觉障碍者的 Voice Over 等功能访问,并且您可以通过 UI 自动化与您的应用对话。
对于不使用为您提供辅助功能的本机 UIKit 功能的应用程序,这是 Apple 建议的。恕我直言,我认为走这条路是个好主意,因为 Apple 在可访问性功能上下了很大的赌注,而且未来它只会随着与操作系统的集成而更加深入。
【讨论】: