无法为 XCTest 中的 Mac 应用中的组件获取辅助功能 label/value

Cannot get accessibility label/value for components in Mac app in XCTest

我正在尝试访问 UI 测试 XCTest 中的元素。对于某些自动预设的 UI 元素,我可以访问 XCTest 中的辅助功能标签和值。但是发现某些元素没有可访问性标签或值。我想知道在什么情况下不应预设可访问性标签或值,或者我们无法在 UI 测试中获取值?

我知道一个案例。如果元素是在 drawRect 方法中绘制的,我们就无法访问 UI 组件。

通常会为 UI 个带有文本或值的元素自动设置辅助功能标签,例如按钮、标签、文本字段和滑块。

编写 UI 测试时,最好使用元素的 accessibilityIdentifier 而不是 accessibilityLabel.

您应该在您希望 UI 测试可以访问的每个视图上设置一个 accessibilityIdentifier。没有预设视图 accessibilityIdentifiers,因此您将完全掌控。

@IBOutlet let signInButton: UIButton!
...
signInButton.accessibilityIdentifier = "signInButton"