J'essaie de taper sur le premier élément d'un texte correspondant dans mon application. Cependant, pour le moment, je reçois une erreur me disant qu'il y a plusieurs correspondances en raison de ma ligne de code actuelle. Comment puis-je changer cela afin qu'il clique sur le premier élément correspondant? Merci d'avanceTaper le premier texte correspondant sur une vue recycleur Android espresso Test
1
A
Répondre
3
Si vous avez plusieurs correspondances et que vous vous souciez uniquement du premier, vous pouvez créer un matcher personnalisé. This one here devrait fonctionner très bien.
Ensuite, vous pouvez faire des choses comme ça (j'ai simplifié votre code un peu - vous n'avez pas besoin Matchers.allOf
si vous avez seulement une seule condition):
onView(withId(R.id.offerSummaryLayout)).perform(RecyclerViewActions
.actionOnItem(first(hasDescendant(withText("Online sale"))), click()));
Merci! Cependant, cela me donne toujours la même erreur de 'AmbiguousViewMatcherException: 'avec l'ID: uk.co.vouchercodes.android.beta: id/offerSummaryLayout' correspond à plusieurs vues dans la hiérarchie. Les problèmes sont indiqués par '**** MATCHES ****' ci-dessous. ' –
Ensuite, vous devrez fournir plus d'informations. Code, écrans, erreur ... –
@Billy Boyo est 'offerSummaryLayout' l'identifiant de' RecyclerView'? –