XCUIElementQuery
An object that defines the search criteria a test uses to identify UI elements.
Declaration
@MainActor class XCUIElementQueryMentioned in
Discussion
Use element queries to find UI elements in your app that you interact with in the tests, to test for the presence of expected elements, or to discover elements to test their values.
For example, this test uses an element query to find the “Add Book” button, and after clicking the button, checks that there’s one button in an outline view cell titled “Untitled Book”. If the test can’t find the “Add Book” button, or there isn’t one “Untitled Book” cell, then the test fails.
@MainActor
func testClickingAddCreatesAnUntitledBook() throws {
let app = XCUIApplication()
app.launch()
let list = app.windows["Reading Journal"]
list.toolbars.children(matching: .button)["Add Book"].click()
XCTAssertEqual(list.outlines["Sidebar"].cells.containing(.button, identifier:"Untitled Book").count, 1)
}Topics
Creating new queries
children(matching:)descendants(matching:)containing(_:)containing(_:identifier:)matching(identifier:)matching(_:)matching(_:identifier:)
Accessing matched elements
allElementsBoundByAccessibilityElementallElementsBoundByIndexcountelementelement(boundBy:)element(matching:)element(matching:identifier:)subscript(_:)element(at:)