Espresso - typeText ne fonctionne pas
Je suis en train de taper du texte à l'intérieur d'un EditText:
public void testSearch() {
onView(withId(R.id.titleInput)).perform(typeText("Engineer"));
onView(withId(R.id.titleInput)).check(matches(withText("Engineer")));
}
Je vois le EditText est de se concentrer, mais rien ne se passe. Le texte est tapé.
J'ai essayé cela sur un téléphone et d'un émulateur - même résultat.
source d'informationauteur Eduard
Vous devez vous connecter pour publier un commentaire.
Dirait que j'ai compris la question. Il avait à faire avec le matériel vs logiciel clavier.
Pour Les Émulateurs:
Accédez à Paramètres -> Langue & Input -> commutateur d'Entrée par Défaut de l'Échantillon Clavier Souple.
Pour Les Téléphones:
Installer un logiciel de clavier à partir du Play store et de l'interrupteur. Il semble que le natif de claviers de certains téléphones ne fonctionnent pas.
Cela fonctionne maintenant.
Si l'EditText n'a pas le focus, vous devriez cliquer sur le premier. Si cela résout votre problème, alors il n'y a pas de bug.
Eu le même problème à l'aide de l'Espresso 2. Comme solution de contournement, je suis en utilisant le remplace au lieu de typeText.
Vous pouvez contourner le problème en appelant setText sur l'EditText.
Vous pouvez l'inclure dans le code comme ceci,
onView(withId(R. id.titleInput)).effectuer(cliquez sur la (les), remplace("Ingénieur"), closeSoftKeyboard() );
Si vous utilisez Genymotion, vous pouvez avoir besoin de changer le clavier par défaut dans Genymotion de Configuration (c'est une application sur l'émulateur).
REMARQUE: Ces modifications ne sont pas conservées après la fermeture de l'émulateur. Vous aurez besoin de mettre ça à chaque fois que vous démarrez l'émulateur.
J'ai résolu ce problème en définissant
layout_height="wrap_content"
sur le point de Vue que je voulaisclick()
. Peut-être que ça peut aider quelqu'un ici.