Search code examples
swiftios9xcode-ui-testingxcode7.1beta

How to find button with predicate under UITests in Xcode7?


I need to access following button:

enter image description here

This line works fine:

app.buttons["Reorder 1, $27 000, LondonStreet, ok, Pending"]

but this don't:

app.buttons.elementMatchingPredicate(NSPredicate(format: "accessibilityTitle BEGINSWITH[cd] %@", "Reorder 1"))

Solution

  • When finding elements via predicates you must use the XCUIElementAttributes Protocol. For this example, I don't think title will actually work, but try using label (which should map to accessibilityLabel).

    For some reason the %@ format option doesn't seem to work in Swift. Also note the extra single quotes around "Reorder 1".

    let predicate = NSPredicate(format: "label BEGINSWITH[cd] 'Reorder 1'")
    let button = app.buttons.elementMatchingPredicate(predicate)