Подтвердить что ты не робот

Xcode: ошибка времени сопоставления событий: не удалось найти соответствующий элемент

Я пытаюсь записать некоторые функции XCUITesting. Я получаю эту ошибку.

Timestamped Event Matching Error: Failed to find matching element

Является ли это ошибкой Xcode и/или проблемой со сложностью моего интерфейса?

4b9b3361

Ответ 1

У меня была такая же проблема и в очень сложном приложении: ключ все в isAccessibilityElement установлен на YES. UI-тестирование и доступность идут рука об руку. То, как я думаю об этом, заключается в том, что устройство должно иметь возможность взаимодействовать с элементом, поскольку якобы пользователь не смог бы этого сделать.

Я сделал это дважды:

  • В cellForRowAtIndexPath - cell.isAccessibilityElement = YES

  • В awakeFromNib в подклассе UITableViewCell - self.isAccessibilityElement = YES

Надеюсь, что это поможет, и удачи!

Ответ 2

Попробуйте использовать свойство isAccessibilityElement. Насколько я знаю, контейнеры, такие как tableView, должны иметь это свойство равным NO, чтобы доступные внутри него элементы были доступны

Цитата из https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIAccessibility_Protocol/#//apple_ref/occ/instp/NSObject/isAccessibilityElement:

Вспомогательные приложения могут получать информацию только об объектах, которые представленных элементами доступности. Поэтому, если вы реализуете пользовательский контроль или представление, которые должны быть доступны для пользователей с инвалидности, установите для этого свойства значение ДА. Единственное исключение из этого практика - это представление, которое просто служит контейнером для других предметов которые должны быть доступны.