适用于 iOS 应用程序的 UI 自动化工具,可识别 CALayer 对象

use*_*035 5 user-interface object calayer ios ios-ui-automation

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

Jon*_*enn 4

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

通过此策略,您可以获得两个好处。您的应用程序现在可以通过诸如 Voice Over 之类的方式为视障人士访问,并且您可以通过 UI 自动化与您的应用程序对话。

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