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

Posted

技术标签:

【中文标题】iOS UITests - 如何区分两个不同的 XCUIElement?【英文标题】:iOS UITests - How to distinguish two different XCUIElement? 【发布时间】:2017-02-28 11:42:09 【问题描述】:

ios UITesting 时,如何区分两个不同的XCUIElement

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

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

以上是关于iOS UITests - 如何区分两个不同的 XCUIElement?的主要内容,如果未能解决你的问题,请参考以下文章

iOS UITests:访问包含动态内容的 UITableViewCells 的重新排序控件元素

Xamarin.UITests - 在真实设备上进行测试 - iOS - 应用权限弹出窗口问题

iOS UITests NSLocalizedString 不工作

如何在 UITests Target 中使用accessibilityIdentifier 查找UIView

Swift 3 更新后 iOS UITests 无法执行基本操作

如何自动区分两个 iOS 应用构建包