iOS UITests - 如何区分两个不同的XCUIElement?

iOS UITests - How to distinguish two different XCUIElement?

虽然iOS UITesting,我如何区分两个不同的XCUIElement

例如,我有两个不同的 UIButton 具有相同的标签字符串 "Button"。如何检查它们是否不同? XCUIElement 是否提供 ID 或任何不同的 属性?

向应用程序代码中的每个按钮添加一个 accessibilityIdentifier,并在测试中通过其标识符访问每个按钮以区分它们。无障碍标识符不面向用户,即使是无障碍用户,因此这不会影响您的用户体验。

// app code
buttonA.accessibilityIdentifier = "buttonA"
buttonB.accessibilityIdentifier = "buttonB"

// test code
let app = XCUIApplication()
let buttonA = app.buttons["buttonA"]
let buttonB = app.buttons["buttonB"]