2017-10-12 8 views
0

J'ai un View classe public class Foo extends RelativeLayout{...} qui ont un EditText dedans. La classe Foo ont une mise en page XML gonflé et son EditText ont également un identifiant, mais ce ne est pas en mesure de trouver le EditTextEspresso ne peut pas trouver une vue à l'intérieur d'une classe de vue personnalisée

J'utilise ce code Espresso:

onView(allOf(withId(R.id.edittext), withParent(withId(R.id.name_container)))).check(matches(isDisplayed())).perform(click()); 

Et le message d'erreur que je reçois est:

android.support.test.espresso.NoMatchingViewException: Aucune vue dans hiérarchie ne correspond à: (avec id: dk.aura.app.staging: id/edittext et a matching parent: avec id: dk.aura.app.staging: id/name_container)

Répondre

0

Avec la persistance j'ai trouvé une réponse à ma propre question.

Il semble que lors de l'accès à l'intérieur Voir une autre vue (vues imbriquées), vous devez vérifier si elle isDescendantOfA() au lieu de withParent()

C'est donc la bonne façon: onView(allOf(withId(R.id.edittext), isDescendantOfA(withId(R.id.name_container)))).check(matches(isDisplayed()));