Espresso sélectionner les enfants de présentation

J'ai été en utilisant l'Espresso à réaliser automatisé INTERFACE utilisateur de test avec une application Android. (J'ai essayé de trouver une solution à la question de tout à la maison, donc je n'ai pas l'exacte des exemples et des erreurs, mais je peux pas mettre à jour demain matin). J'ai couru dans un problème avec l'unité de test des boutons à l'intérieur d'une mise en page qui est inclus plusieurs fois dans une seule interface utilisateur. Ci-dessous est un exemple rapide:

<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" />

Voici un exemple de ce qui est à l'intérieur de l' @mise en page/boîtes:

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <Button
        android:id="@+id/button1" />
    <Button
        android:id="@+id/button2" />
</RelativeLayout>

Je suis apparemment incapable de bouton d'accès au sein de l'comprennent ce que je veux “include_one”, sans accéder à l'ensemble des trois boutons.

J'ai essayé d'accéder aux boutons suivants:

onView(allOf(withId(R.id.include_one), isDescendantOfA(withId(R.id.button1)))).perform(click());

et

onView(allOf(withId(R.id.button1), hasParent(withId(R.id.include_one)))).perform(click());

Deux que j'ai trouvé à partir de cette réponse: onChildView et hasSiblings avec Espresso Malheureusement, je n'ai pas eu de succès!

Je sais que ce n'est pas génial, mais comme je ne suis pas avec mon ordinateur, je ne peux pas vous dire exactement les erreurs que j'ai rencontré, mais j'ai rencontré:

com.google.android.apps.common.testing.ui.espresso.AmbiguousViewMatcherException

aussi une erreur me disant il n'y avait pas les correspondances trouvées.

Le code, je suis en utilisant un sens, même si je suis nouveau à l'aide de l'Espresso quelqu'un Peut donner quelques conseils, ou ce peut être un malentendu?

InformationsquelleAutor jordan_terry | 2015-01-11