swift xcode7 xcode xcode-ui-testing

swift - Error de coincidencia de evento con marca de tiempo: no se pudo encontrar el elemento coincidente



xcode7 xcode (6)

De vez en cuando me he encontrado con este problema. Eliminar el directorio de la aplicación de DerivedData parece ayudar.

Estoy tratando de generar un UItest en Xcode. Cuando trato de deslizar UIview me sale un error:

Timestamped Event Matching Error: Failed to find matching element

ventana de error

Esto también sucede si intento tocar UIView.


Debe verificar que la opción ''Accesibilidad'' esté habilitada para el objeto UIView desde el que está deslizando, por ejemplo:


En Xcode 9.3, donde aparentemente esto sigue siendo un problema, lo que hice fue:

  • Salir de Xcode
  • Restablezca la configuración del simulador (Hardware -> Borrar todo el contenido y la configuración)
  • Salir del simulador
  • Eliminar los datos derivados de la aplicación actual
  • Reiniciar Xcode
  • Intenta grabar de nuevo, esta vez funcionó para mí.

Para grabar una nueva prueba, no creo que haya una solución todavía. Pero, si usa una extensión forzando tap con una prueba que ya existe, funciona.

Ejemplo de uso:

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() }

Puedes consultar la publicación original aquí:

Xcode UI test - UI Testing Failure - Error al desplazarse a visible (por acción AX) cuando toca el campo de búsqueda "Cancelar"


Por lo general, este problema se observa cuando el elemento principal del elemento que desea registrar se establece en isAccessibilityElement = true. En general, debe tener el elemento primario establecido en falso para acceder al elemento secundario. Por ejemplo: si tiene un UILabel dentro de una vista, la accesibilidad debe establecerse en falso para la vista y establecerse en verdadero para el UILabel.


Una solución que funcionó para mí fue identificar el objeto de manera diferente.
En Xcode 8 pude usar lo siguiente:

XCUIApplication().tables.cells["Camera Roll"].buttons["Camera Roll"].tap()

Con Xcode 9 obtuve el error mencionado en esta pregunta. Terminé usando lo siguiente, que funcionó (aunque más flakey que la opción original)

XCUIApplication().cells.element(boundBy: 1).tap()