Mit Espresso möchte ich in der Lage sein, auf ein bestimmtes Kind einer ExpandableListView (namens CustomExpandableView) klicken. Die Listenansicht erstellt eine Reihe von RelativeLayouts (namens MyContainer).Klicken auf ein bestimmtes Kind einer ListView in Espresso
Idealerweise möchte ich in CustomExpandableView auf einen bestimmten MyContainer klicken. Aber ich kann mit dem ersten Klick leben.
Die MyContainer-Objekte haben keine eindeutigen IDs, auf die ich verweisen kann, aber ihre untergeordneten Elemente tun dies, z. - "text = Beispieltext hier 1"
Ich habe ein paar verschiedene Varianten der Verwendung von onData beim Übergeben des Klassentyps versucht und versucht, ein Kind an einer bestimmten Position zu bekommen, aber es funktioniert einfach nicht. Und ich wollte vermeiden, das Objekt zu bekommen und darüber zu iterieren, bis ich das richtige Kind gefunden habe. Hier
ist der Teil der Ansichtshierarchie als Referenz (I unwichtige Informationen von der Hierarchie entfernt):
+----->CustomExpandableView{} | +------>LinearLayout{} | +------->TextView{} | +------->FrameLayout{} | +-------->BreadCrumbView{} | +--------->ImageButton{} | +--------->TextView{} | +------>LinearLayout{} | +------->MyContainer{} | +-------->ImageView{res-name=thumb, } | +-------->ImageView{res-name=divider} | +-------->TextView{res-name=label, text=Sample Text Here 1, input-type=0, ime-target=false} | +------->MyContainer{} | +-------->ImageView{res-name=thumb} | +-------->ImageView{res-name=divider} | +-------->TextView{res-name=label text=Sample Text Here 2, input-type=0, ime-target=false} |
Dies gibt einen Fehler zurück. OnView erfordert Matcher und das ist Matcher
@ Khushboo, also schalte es auf onData. –