2011-10-20 9 views
6

soy muy nuevo en el IOS UIAutomation, aquí está el problema que estoy enfrentandoiOS UIAutomation: Acceso subvistas encargo añadidas en un UIScrollView en escritura de automatización

Tengo una jerarquía de vistas de la siguiente manera y quieren acceder a los elementos CustomView2 en la automatización sctipt

UIWindow> UIScrollView> CustomView1 (múltiple)> CustomView2 (múltiple)

el ScrollView tiene subvistas de tipo CustomView1 y CustomView1 a su vez ha subvistas de tipo CustomView2.

He asignado la información de accesibilidad a todas las vistas en jerarquía, pero no puedo acceder a los elementos de CustomView2 en mi secuencia de comandos de automatización.

Cuando hago un logElementTree() en UIScrollView, todo lo que obtengo son las instancias de CustomView2, CustomView2 ni siquiera está en la estructura de árbol de UIWindow.

Por favor, sugiera si falta algo o si algo va mal.

Aquí está el código que estoy utilizando

var mainWindow = application.mainWindow(); 
var scrollView = mainWindow.scrollViews()[0]; 
var custom1 = scrollView.elements().withName("CustomView1"); 

for(var index=0; index<custom1.length; index++){ 
    currentIndustry.tap(); 
    custom1[index].logElementTree(); 
    var custom2 = custom1[index].elements().withName("CustomView2"); 
    UIALogger.logPass("Custom2 Length : " + custom2.length); 
} 

El árbol impreso por personalizado1 [índice] .logElementTree(); no contiene instancias de CustomView2

P.S. Necesito acceder a ambos elementos CustomView1 y CustomView2

+0

Tenía una pregunta similar. Pruebe mi pregunta y respuesta: http://stackoverflow.com/questions/6751566/ui-automation-access-uiviews-inside-uiscrollview – Peres

+0

Gracias @JackyBoy por la referencia. Eso solucionó el problema parcialmente, necesito acceder tanto a CustomView1 como a CustomView2, al eliminar la accesibilidad de CustomView1 aparentemente pierdo el acceso a CustomView1. – Ziya

Respuesta

5

Esto puede ayudar si usted no ha encontrado su respuesta ya:

UIAutomation Nested Accessibilty Elements Disappear from Hierarchy

En su clase de CustomView1 poner en práctica lo siguiente:

- (BOOL)isAccessibilityElement 
{ 
    return NO; 
} 

Esto hará que sus elementos CustomView2 sean visibles cuando logElementTree().

Si CustomView2 contiene elementos accesibles y básicamente es una vista de contenedor también, implemente lo anterior en esa clase también, y sus vistas secundarias estarán accesibles.

Cuestiones relacionadas