В тестировании пользовательского интерфейса/автоматизации с использованием Xcode 7 есть ли способ перечислить все элементы XCUIElements на экране приложения? Как в дереве или списке, или даже что-то в пользовательском интерфейсе Xcode? Я могу записывать тесты для тестируемого приложения с помощью кликов, но когда я запускаю тест, он терпит неудачу. Это не удается, потому что он не может найти XCUIElements из сгенерированного кода.
Просмотреть все XCUIElements на текущем экране
Ответы (2)
Вы можете просмотреть его в отладчике иерархии Xcode.
Из документов Apple:
Чтобы войти в отладчик представления, запустите приложение в Xcode и нажмите кнопку Иерархия представления отладки на панели отладки.
Вы можете отлаживать состояние элемента пользовательского интерфейса, используя
XCUIElement.debugDescription
Он возвращает снимок UIView в формате html с хорошим просмотром состояния элементов пользовательского интерфейса со свойствами, такими как тип элемента (например, textField, кнопка), чертами, такими как сфокусировано, включено, и значениями, например, placeholderValue.
Вы также можете использовать приложение accessibilityInspector, чтобы просмотреть атрибуты доступности для элементов пользовательского интерфейса в представлении и убедиться, что элементы имеют правильно установленные свойства доступности.
Еще одним удобным инструментом для изучения представления является новое средство просмотра иерархии, которое можно вызвать во время записи с панели инструментов консоли отладки или с помощью фильтра навигатора отладки при включении точки останова в тестовом коде.
Xcode 7 также имеет хороший тестовый отчет в Report Navigator, который может помочь вам детализировать точную причину сбоя теста. например
Тестовая активность пользовательского интерфейса:
Assertion Failure: Asynchronous wait failed: Exceeded timeout of 10 seconds, with unfulfilled expectations: "Expect predicate `exists == 1` for object "Logout" Button".
Надеюсь это поможет.