Я пытаюсь создать UItest в Xcode. Когда я пытаюсь пролистать UIview, я получаю сообщение об ошибке:
Timestamped Event Matching Error: Failed to find matching element
Это также происходит, если я пытаюсь нажать UIView.
Я пытаюсь создать UItest в Xcode. Когда я пытаюсь пролистать UIview, я получаю сообщение об ошибке:
Timestamped Event Matching Error: Failed to find matching element
Это также происходит, если я пытаюсь нажать UIView.
Ответы:
Вы должны убедиться, что опция «Доступность» включена для объекта UIView, из которого вы проводите пальцем, например:
источник
fastlane
для создания снимков экрана tableView. stackoverflow.com/a/39331154/4475605isAccessibilityElement = true
Обычно эта проблема наблюдается, когда для родительского элемента элемента, который вы хотите записать, установлено значение isAccessibilityElement = true. Как правило, для доступа к дочернему элементу необходимо установить для родительского элемента значение false. Например: если у вас есть UILabel внутри представления, доступность должна быть установлена на false для представления и установлена на true для UILabel.
источник
В Xcode 9.3, где это, по-видимому, все еще проблема, я сделал следующее:
источник
Для записи нового теста пока не думаю, что есть решение. Но, если вы используете удлинитель с принудительным отводом с уже существующим тестом, работает.
Пример использования:
extension XCUIElement { func forceTapElement() { if self.hittable { self.tap() } else { let coordinate: XCUICoordinate = self.coordinateWithNormalizedOffset(CGVectorMake(0.0, 0.0)) coordinate.tap() } } } func testSomethingWithCells() { let app = XCUIApplication() let cells = app.tables.cells sleep(1) cells.elementBoundByIndex(0).forceTapElement() }
Вы можете проверить исходный пост здесь:
Тест пользовательского интерфейса Xcode - Ошибка тестирования пользовательского интерфейса - Не удалось перейти к отображению (с помощью действия AX) при нажатии кнопки «Отмена» в поле поиска.
источник
Иногда я сталкивался с этой проблемой. Кажется, помогает удалить каталог приложения из DerivedData.
источник
Решение, которое сработало для меня, заключалось в том, чтобы идентифицировать объект по-другому.
В Xcode 8 я смог использовать следующее:
XCUIApplication().tables.cells["Camera Roll"].buttons["Camera Roll"].tap()
С Xcode 9 я получил ошибку, упомянутую в этом вопросе. Закончилось использованием следующего, которое сработало (хотя и более хлопотно, чем исходный вариант)
XCUIApplication().cells.element(boundBy: 1).tap()
источник