XCTest:有没有办法在 UI 测试中通过 ID 查找任何类型的视图?

XCTest: Is there a way to find a view of any type by ID in UI tests?

在 XCTest 中,有一种方法可以按类型获取所有 UI 元素,然后按 accessibilityIdentifier 进行过滤,例如:

app.buttons[someID]

但是如果我不知道视图的类型怎么办?如果我正在寻找 UIView,我可以这样写:

app.otherElements[someID]

但这不包括 UI按钮视图。

我可以通过连续调用 all the methods(staticTexts、textViews、buttons、otherElements 等)来实现它,但有些东西告诉我它的性能不是很好,因为类型列表很大。

有通用方法吗?

您可以使用 descendants(matching:) 查找任何类型的视图。

let app = XCUIApplication()
let element = app.descendants(matching: .any)["someID"]