2016-07-08 6 views
0

Ich habe eine App mit verschiedenen ListView s für verschiedene Gegenstände. Ich versuche, auf Button zu klicken, indem ich zum Beispiel View2 mit uiautomator spezifiziere. Ich hatte bis jetzt kein Glück mit irgendeinem Code. Jede Hilfe wird geschätzt. Vielen Dank!wählen Geschwister-Taste basierend auf Kind Beschreibung

habe ich dies so weit, aber es scheint immer auf Ansicht1 der Schaltfläche klicken, sehen Sie hier nicht 2.

UiScrollable list = new UiScrollable(new UiSelector().scrollable(true)); 
    UiObject view = list.getChildByDescription(new UiSelector().className("android.view.View"), "View2", true); 

    UiObject button = view.getFromParent(new UiSelector().description("Button")); 
    button.click(); 

ist, was die xml aussieht.

View  
    ListView 
     View 
      View (Description "View1") 
    Button (Description "button") 
    ListView 
     View 
      View (Description "View2") 
    Button (Description "button") 
    ListView 
     View 
      View (Description "View3") 
    Button (Description "button") 
    ListView 
     View 
      View (Description "View4") 
    Button (Description "button") 
+0

können Sie Ihren uiautomator Dump und Screenshot von uiautomatorviewer hochladen und Link teilen? Ich werde es versuchen. Vorläufig können Sie auf die Schaltfläche klicken, indem Sie '.instance (1)' angeben – Rilwan

Antwort

0

Blick auf die Hierarchie der Ansichten.,. Wenn du einen Adapter verwendest, kannst du alles von adapter.getitem (position) bekommen oder eine ViewGroup auf jeden Gegenstand wirken lassen.