Я работаю с UITableViews, и мне бы хотелось найти ячейку, которая соответствует элементу управления или статическому тексту внутри ячейки.
В более общем плане, хороший способ найти любого родителя или родного брата данного элемента был бы замечательным.
Сейчас я просто перебираю ячейки, пока не найду правильный, чего я бы хотел избежать. Я пробовал использовать app.tables.cells.containingPredicate
, но не повезло.
let pred = NSPredicate { (element, bindings: [String : AnyObject]?) -> Bool in
return element.staticTexts["My Text"].exists
}
let cells = app.tables.cells.containingPredicate(pred)
Элемент, переданный блоку предикатов, представляет собой XCElementSnapshot, который не имеет статическихTexts.
ИЗМЕНИТЬ
Джеймс прав, метод containsType: identifier: отлично работает.
В быстром режиме это выглядит как
let cell = app.tables.cells.containingType(.StaticText, identifier: "My Text")
Если идентификатор в сигнатуре метода НЕ соответствует свойству идентификатора элемента, скорее это просто обычный способ доступа к элементу по тексту в скобках.
app.cells.staticTexts["My Text"]