comment obtenir le texte de textview à l'aide de l'espresso
Je veux obtenir la chaîne de texte affiché dans un textview dans LinearLayout. peut espresso? Si non, est-il d'autres façon de le faire, ou puis-je utiliser l'api android dans l'espresso cas de test? Je suis l'aide de l'API de 17 de 18 ans ou plus récent, de l'espresso 1.1(Il doit être le dernier.). Je n'ai aucune idée à ce sujet. Merci.
Oui, Espresso pouvez le faire, si dans un hacky. Mais la plupart du temps vous ne devriez pas avoir, parce que, dans les tests que vous voulez généralement à la comparaison du texte dans un textview avec un texte donné ou test de certains biens. Plus de détails sur ce que vous êtes en train d'essayer de faire dans votre test, il est plus facile de donner une réponse utile.
Eh bien, ce qui en fait le hacky façon? Comment faire? J'ai besoin d'obtenir ces texte à insérer à un rapport. Merci pour votre attention, @haffax
Eh bien, ce qui en fait le hacky façon? Comment faire? J'ai besoin d'obtenir ces texte à insérer à un rapport. Merci pour votre attention, @haffax
OriginalL'auteur Nick Dong | 2014-04-30
Vous devez vous connecter pour publier un commentaire.
L'idée de base est d'utiliser une méthode avec un intérieur ViewAction qui récupère le texte dans sa exécuter la méthode. Anonyme classes ne peuvent accéder finale de champs, de sorte que nous ne pouvons pas le laisser définir une variable locale de getText(), mais au lieu d'un tableau de Chaîne de caractères est utilisée pour obtenir la chaîne de la ViewAction.
Remarque: Ce type de vue des données retrievers doit être utilisé avec précaution. Si vous êtes constamment à la recherche de vous-même écrire ce genre de méthodes, il ya une bonne chance, vous êtes en train de faire quelque chose de mal. Aussi ne jamais accéder à la Vue de l'extérieur d'un
ViewAssertion
ouViewAction
, parce que seulement il est fait en sorte, que l'interaction est sûr, car il est exécuté à partir de l'UI thread, et avant l'exécution, il est cochée, l'absence d'autres interactions se mêlent.vous pouvez l'utiliser comme cette
getText(withId(viewId));
OriginalL'auteur haffax
Si vous souhaitez vérifier la valeur de texte avec un autre texte, vous pouvez créer Matcher. Vous pouvez voir mon code pour créer votre propre méthode:
OriginalL'auteur emaleavil