Ich verwende Espresso, um automatisierte UI-Tests mit einer Android-App durchzuführen. (Ich habe versucht, eine Lösung für das Problem zu finden, während ich von zu Hause aus zu Hause bin, also habe ich nicht die genauen Beispiele und Fehler, aber ich kann morgen früh auf den neuesten Stand bringen). Ich bin auf ein Problem mit Unit-Test-Schaltflächen in einem Layout gestoßen, das mehrmals in einer einzigen Benutzeroberfläche enthalten ist. Im Folgenden finden Sie ein kurzes Beispiel:Espresso Kinder im Layout auswählen
<include
android:id="@+id/include_one"
android:layout="@layout/boxes" />
<include
android:id="@+id/include_two"
android:layout="@layout/boxes" />
<include
android:id="@+id/include_three"
android:layout="@layout/boxes" />
Hier ist ein Beispiel dafür, was innerhalb der @ Layout/Boxen:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/button1" />
<Button
android:id="@+id/button2" />
</RelativeLayout>
ich scheinbar nicht in der Lage bin Taste ein für den Zugriff auf die in I der „include_one“ wollen , ohne auf alle drei Tasten zuzugreifen.
Ich habe versucht, die Tasten mit folgendem Zugriff:
onView(allOf(withId(R.id.include_one), isDescendantOfA(withId(R.id.button1)))).perform(click());
und
onView(allOf(withId(R.id.button1), hasParent(withId(R.id.include_one)))).perform(click());
Beide, die ich von dieser Antwort gefunden: onChildView and hasSiblings with Espresso Leider habe ich keinen Erfolg gehabt!
Ich weiß, das ist nicht groß, aber wie ich mit meinem Computer bin nicht kann ich Ihnen nicht die genauen Fehler sagen, dass ich über gekommen sind, aber ich habe festgestellt:
com.google.android.apps.common.testing.ui.espresso.AmbiguousViewMatcherException
auch ein Fehler sagte mir, dass keine Übereinstimmungen gefunden wurden.
Der Code verwende ich sinnvoll, obwohl ich bin hier zur Verwendung von Espresso Kann jemand einen Rat anbieten oder darauf hinweisen, was ich Missverständnis sein kann?
Danke für die Antwort! Ich hätte das eigentlich selbst beantworten sollen, als ich das Problem behoben habe. Aber Sie haben recht, ich hatte einen komplexen Selektor, um den richtigen Knopf auszuwählen, als ich an diesem Problem arbeitete. –