Bartłomiej Semańczyk
Bartłomiej Semańczyk

Reputation: 61860

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"))

Upvotes: 8

Views: 5839

Answers (1)

Joe Masilotti
Joe Masilotti

Reputation: 17018

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)

Upvotes: 22

Related Questions