¿Cómo puedes ver el tree XCUIElement?

Fondo:

Estoy experimentando con las testings de nivel de UI en iOS 9.0 con XCode GM.

Pregunta:

¿Hay un command en XCode GM que te permita ver un "tree" de elementos accesibles y sus relaciones? ¿Algo similar al command 'página' en Appium?

Idealmente, podría ejecutar un command en el depurador que me proporcionaría una list de elementos disponibles para la selección / manipulación. Actualmente puedes usar debugDescription en un solo XCUIElement pero eso solo te da información para ese elemento.

Esto no es exactamente lo que está pidiendo, pero el Inspector de accesibilidad de Xcode facilita mucho la visualización de su jerarquía de vista en términos de los elementos a los que se puede acceder a través de los identificadores. (NB No es la "Etiqueta" en el panel de Accesibilidad de IB lo que importa, es el campo "Identificador"):

En Xcode 7.2, abra Xcode-> Open Developer Tool-> Inspector de accesibilidad . (Es posible que deba otorgarle permiso a la aplicación para que se ejecute en las Preferences del sistema). A continuación, inicie su aplicación de iOS desde Xcode y desplace el mouse sobre cualquier elemento de la interfaz de usuario en el SIMULADOR. Verá información completa sobre el tipo de elemento, la descripción, la jerarquía, etc.

Cada vez que grabe las acciones de la interfaz de usuario y el resultado no se vea bien, use la herramienta para determinar qué descripciones de accesibilidad deben agregarse, modificarse o eliminarse. (Pasé un par de días intentando cambiar un UISegmentedControl profundamente embedded a través del arnés de Prueba de UI, y el problema se hizo obvio una vez que descubrí cómo usar la herramienta de Inspección de accesibilidad).

¡Gracias a la gente de shinobicontrols.com por el gran consejo!

Sugiero elegir desde la barra de menu: Depurar> Ver debugging> Captura jerarquía de vista cuando se ejecuta en debugging. No solo una forma de representar visualmente las vistas sino también el browser de debugging del lado izquierdo muestra la jerarquía. Esto puede no ser uno a uno con la perspectiva de UI Testing, pero puede ser muy útil. Espero que ayude.

Establezca un punto de interrupción donde le gustaría ver el tree … en el tipo de depurador:

po print(XCUIApplication().debugDescription) 

Eso imprime todo lo que XCUITesting tiene acceso. También puede echarlo a la testing:

 func testTreeExample() { XCUIApplication().buttons["login"].tap() print(XCUIApplication().debugDescription) XCUIApplication().buttons["next"].tap() print(XCUIApplication().debugDescription) } 

De esa forma, si tiene problemas para encontrar algo que pueda tener, imprima automáticamente lo que ve la aplicación justo después de hacer algo.