Je cette simple interaction Espresso:Obtenir NoMatchingViewException pendant Perform (...), mais pas le contrôle précédent (...)
onView(atIndex(withId(R.id.editTextTextWidget), 0)).inRoot(authViewRootMatcher)
.check(matches(allOf(isDisplayed(), isEnabled())))
.perform(typeText("1"));
Les check(matches(allOf(isDisplayed(), isEnabled())))
passe comme prévu, mais le perform(typeText("1"))
suivant ne fonctionne pas. Je ne peux pas comprendre pourquoi, pour la vie de moi.
Donc, je ne peux pas croire que je vous pose cette question, mais comment au nom d'Android dois-je utiliser Espresso
pour saisir du texte dans mon EditText
dont l'ID est R.id.editTextTextWidget
?
Pourquoi 'inRoot()'? Est-ce dans "Dialog"? – azizbekian
@azizbekian Le 'EditText' est dans un' View' flottant qui est montré par 'WindowManager.addView (...)'. 'authViewRootMatcher' correspond correctement à la racine attendue. – oaskamay
Pourquoi êtes-vous sûr que 'check()' correspond exactement au 'EditText' que vous prévoyez de faire correspondre? parce que je vois que vous en avez plusieurs (atIndex (.., 0)). – azizbekian