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"]
在 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"]