Accueil Médias sociaux Comment tester votre application Android en utilisant Espresso - les mannequins

Comment tester votre application Android en utilisant Espresso - les mannequins

Table des matières:

Vidéo: Comment tester (vraiment) une application Android (fr) - Thomas Guerin & Benjamin Lacroix, XEBIA 2025

Vidéo: Comment tester (vraiment) une application Android (fr) - Thomas Guerin & Benjamin Lacroix, XEBIA 2025
Anonim

En tant que développeur, vous connaissez déjà l'importance d'écrire des tests pour votre code. Ceci est tout aussi vrai pour le développement d'applications Android que pour tout autre type de développement. Heureusement, Android facilite l'ajout de tests à votre application.

Les informations suivantes vous présenteront les bases de l'ajout de tests à votre application Android à l'aide d'Espresso. Espresso est une bibliothèque fournie avec le SDK Android pour simplifier le test des interfaces utilisateur Android.

Assurez-vous que votre application utilise gradle 2. 1. 1 ou plus tard avec les outils de construction Android 21. 1. 2 ou plus tard.

Pour ajouter un test Espresso à votre application, vous devez:

  1. Modifier votre script de construction

  2. Écrire le test

  3. Lancer le test

Modifier votre build

Ouvrir le construire. gradle fichier pour votre application. Si votre application comporte plusieurs modules, vous devez ouvrir la version. fichier gradle dans votre module d'application, pas dans le module racine. Donc, pour l'application Silent Mode Toggle, vous devez ouvrir SilentModeToggle / build. gradle.

Ajoutez la dépendance suivante à la section dépendances de votre build. fichier gradle:

dépendances {… // Test dépendances androidTestCompile ' com. Android. soutien. tester. espresso: espresso-core: 2. 0 ' }

Ceci indique à Android Studio d'inclure la bibliothèque Espresso dans vos dépendances de test. La bibliothèque Espresso ne sera pas intégrée dans l'apk que vous expédiez, mais elle sera incluse dans votre test apk afin que vos tests puissent l'utiliser.

Ensuite, ajoutez ce qui suit à votre defaultConfig:

defaultConfig {… // Le test à utilise lorsque exécute le < tests. testInstrumentationRunner " android support.tmp testeur runner AndroidJUnitRunner " } Ceci indique à Android quelle instrumentation utiliser pour exécuter vos tests. Vous n'avez pas besoin d'en savoir beaucoup sur l'instrumentation, sauf que c'est celui que vous devez utiliser lorsque vous voulez exécuter des tests Espresso.

C'est tout ce que vous devez faire pour ajouter du support pour Espresso. Ensuite, vous devrez écrire le test réel.

Comment écrire le test

Pour ajouter un test à Android, vous devez vous assurer de le placer au bon endroit. Ouvrez votre répertoire src dans Android Studio et créez un nouveau répertoire nommé androidTest s'il n'existe pas déjà. Dans ce répertoire, créez un répertoire nommé java.

Dans le répertoire que vous venez de créer, créez un nouveau fichier nommé SilentModeToggleEspressoTest. Java. Vous pouvez vraiment le nommer comme vous voulez, assurez-vous juste qu'il se termine par "Test".Java".

Mettez ce qui suit dans votre fichier de test:

public class SilentModeToggleEspressoTest extends ActivityInstrumentationTestCase2 {public SilentModeToggleEspressoTest () {super (MainActivity.classe);}}

Ceci crée une nouvelle classe nommée SilentModeToggleEspressoTest. Il étend ActivityInstrumentationTestCase2, que vous utiliserez pour écrire la plupart des tests de votre application. ActivityInstrumentationTestCase2 est paramétré sur le type d'activité que vous souhaitez tester. Pour l'application SilentModeToggle, l'activité principale de l'application s'appelle, de manière appropriée, MainActivity.

Votre classe de test doit avoir un constructeur par défaut, et dans ce constructeur par défaut, vous appellerez le constructeur de la super classe avec la classe de l'activité testée. Ce que vous avez écrit jusqu'à maintenant sera essentiellement copié-collé pour à peu près tous les tests Android que vous écrivez.

Avant de pouvoir écrire votre test, vous devez le configurer. Pour ce faire, ajoutez la méthode suivante à votre classe de test:

@Override public void setUp () throws Exception {super. installer(); getActivity ();}

Pour tester une activité à l'aide d'Espresso, vous devez d'abord créer l'activité testée. Ceci est fait en appelant getActivity (), qui crée et lance l'activité pour vous si elle n'existe pas déjà. Vous faites cela ci-dessus dans la méthode setUp () pour la classe, qui est exécutée avant l'exécution de chacun de vos tests.

Maintenant, enfin, vous pouvez écrire votre test. Ajoutez la méthode suivante à votre classe:

public void testPhoneIconIsDisplayed () {// Lorsque la vue phone_icon est disponible, // vérifiez qu'elle est affichée. onView (withId (R, id, phone_icon)). check (correspond (isDisplayed ()));}

Vous devez importer les méthodes onView, withId, check, matches et isDisplayed. Android Studio vous propose de vous aider avec les importations statiques nécessaires.

Les tests d'expresso sont conçus pour être très faciles à lire. Comme vous pouvez le voir ici, ce test attend jusqu'à la vue avec ID R. id. phone_icon est disponible, et une fois qu'elle l'est, elle vérifie que la vue est affichée.

L'étape suivante consiste à lancer le test.

Comment lancer le test

Commencez par démarrer un émulateur ou connectez votre téléphone à votre ordinateur via USB.

Une fois votre appareil connecté et en cours d'exécution, faites un clic droit sur le répertoire java sous androidTest, puis choisissez Exécuter tous les tests (avec l'icône Android):

Si le test réussit, vous devriez voir quelque chose comme:

Pourquoi les tests sont-ils importants?

Pourquoi faire tous ces efforts pour ajouter un test simple? Vous pourriez penser qu'il ne vaut guère la peine de tester une telle fonctionnalité de base.

L'application Silent Mode Toggle est assez simple pour qu'un programmeur fainéant justifie peut-être un test de saut. Peut être.

Si vous ajoutez quelques tests pour ajouter, supprimer et modifier des tâches dans cette application, vous avez l'esprit tranquille en sachant que chaque fois que vous effectuez une modification, vos tests automatisés détectent les bogues significatifs que vous introduisez.

Voulez-vous vraiment tester à nouveau toutes les fonctionnalités de votre application sur les téléphones, les tablettes, les montres et les téléviseurs, puis recommencer sur des appareils plus anciens pour tester la rétrocompatibilité?L'ajout de tests peut prendre en charge une grande partie de cette difficulté pour vous.

À propos des tests Espresso

Les tests Espresso sont écrits au format suivant:

onView (Matcher). effectuer (ViewAction). check (ViewAssertion)

La feuille de triche suivante, gracieuseté du projet Espresso 2. 0, est un outil utile pour écrire des tests Espresso. Il répertorie la syntaxe générale des tests Espresso et répertorie également les types de correspondance les plus courants: ViewAction et ViewAssertion.

Un moyen rapide d'écrire des tests Espresso est de profiter des fonctionnalités de saisie semi-automatique d'Android Studio. Si vous savez que la plupart des correspondances sont dans la classe ViewMatchers, la plupart des actions sont dans ViewActions, et la plupart des assertions sont dans ViewAssertions, alors vous pouvez utiliser autocomplete pour trouver le bon matcher:

Ajoutons un

Dans cet esprit, ajoutons un test de plus. Ajoutez les lignes en gras à votre classe de test:

public class SilentModeToggleEspressoTest extends ActivityInstrumentationTestCase2 {

AudioManager audioManager; … @Override public void setUp () lance Exception {super. installer(); Activité activité = getActivity (); // Récupère et AudioManager à partir de l'activité activité audioManager = (AudioManager). getSystemService (Contexte. AUDIO_SERVICE); // Définissez que le mode sonnerie est réinitialise à audioManager normal. setRingerMode (AudioManager. RINGER_MODE_NORMAL); } … public void testCanToggleIcon () { // Lorsque phone_icon voir est > disponible, cliquez sur it onView (avec Id (ID téléphonique)). effectuer (cliquer sur ()); // Alors affirme que le téléphone est maintenant en mode silencieux. assertTrue (RingerHelper.isPhoneSilent (audioManager)); } } Ce test trouve le bouton bascule et clique dessus, puis vérifie que le mode silencieux de l'application a été activé. Le code setUp () garantit que le mode de sonnerie est réinitialisé avant le test. Désormais, chaque fois que vous apportez une modification à votre application, il vous suffit de lancer ces scénarios de test pour avoir la certitude que vous n'avez rien cassé d'important.

Si vous avez un serveur d'intégration continue, tout ce que vous devez faire est d'exécuter la cible connectedCheck dans Gradle pour exécuter vos scénarios de test avec chaque validation que vous effectuez. Si vous n'avez pas encore de serveur d'intégration, il est peut-être temps d'en chercher un! Découvrez travis-ci. org pour une bonne option.

Tester des applications sur Android est un sujet profond et complexe, mais maintenant vous devriez avoir tout ce dont vous avez besoin pour commencer à tester vos applications!

Si vous aviez souhaité être plus avancé, vous pourriez être intéressé par certaines des ressources suivantes:

Utilisez Spoon pour tester plusieurs périphériques.

Essayez Fork pour exécuter des tests rapidement sur plusieurs périphériques.

  • Essayez travis-ci ou Jenkins pour un serveur d'intégration continue.

  • Découvrez l'introduction de Michael Bailey à Android Testing sur YouTube.

Comment tester votre application Android en utilisant Espresso - les mannequins

Le choix des éditeurs

Spotify Mobile Service avec un compte Premium - Les nuls

Spotify Mobile Service avec un compte Premium - Les nuls

Les deux principaux avantages des abonnés Spotify Premium sur Spotify Free ou Les détenteurs d'un compte illimité ont la capacité d'accéder au catalogue de diffusion en continu de Spotify via un appareil mobile et d'écouter des pistes en mode hors connexion à l'aide de votre application mobile ou informatique. Ce sont les deux caractéristiques qui justifient le fait que Spotify ...

Spotify Listes de lecture de Mobile - mannequins

Spotify Listes de lecture de Mobile - mannequins

Comme sur votre ordinateur, vous pouvez gérer les listes de lecture Spotify sur votre téléphone. Toute modification apportée à votre liste de lecture est synchronisée sur tous les appareils auxquels vous êtes connecté, en temps réel. Lorsque vous démarrez l'application Spotify, toutes vos playlists sont affichées immédiatement, mais vous pouvez y accéder à tout moment en appuyant sur ...

Spotify vous permet de vous lier à peu près n'importe quoi - les tuls

Spotify vous permet de vous lier à peu près n'importe quoi - les tuls

Spotify vous permet de copier des liens Web et des URI vous pouvez coller où vous voulez: dans les blogs, les e-mails, les réseaux sociaux, même les documents de traitement de texte. Cliquez avec le bouton droit de la souris sur ce que vous voulez partager et choisissez une option de copie dans le menu contextuel qui s'affiche généralement. Dans certains cas, si vous savez comment un lien est construit, ...

Le choix des éditeurs

Médias sociaux et marketing par e-mail - nuls

Médias sociaux et marketing par e-mail - nuls

Réseaux sociaux clients potentiels via des sites Web et des e-mails. Rappelez-vous, la suppression des e-mails pour gagner du temps est le mode opératoire pour les gens connectés en ligne dans les affaires ces jours-ci. Certaines entreprises estiment avoir le droit d'envoyer des offres quotidiennes et des promotions accompagnées de fanfares. Est-il même possible pour une entreprise de ...

Social Media Commerce: Enregistrement client par Mobile App - dummies

Social Media Commerce: Enregistrement client par Mobile App - dummies

Certains médias sociaux Les applications récompensent leurs utilisateurs pour l'enregistrement depuis les smartphones au fur et à mesure qu'ils passent d'un endroit à un autre dans le monde des briques et du mortier. Cette activité d'enregistrement mobile est populaire auprès de ceux qui se connectent en ligne. Vous pouvez encourager les gens à se présenter à votre lieu de travail. Le leader actuel sur le marché est Foursquare, un ...

Social Media Commerce: Blog pour votre entreprise - dummies

Social Media Commerce: Blog pour votre entreprise - dummies

Quand vous vous sentez prêt Pour passer à l'étape suivante dans le commerce des médias sociaux et faire quelque chose au-delà d'un site Web d'entreprise, vous pouvez développer un blog pour communiquer avec les clients. Les blogs offrent un espace à votre entreprise pour améliorer son message et répondre aux commentaires des lecteurs. Un blog (à partir du web-journal) peut ...

Le choix des éditeurs

Comment traduire votre réseau Ning en une langue non prise en charge - les nuls

Comment traduire votre réseau Ning en une langue non prise en charge - les nuls

Bien que Ning supporte 18 langues , avec autant de langues dans le monde, vous devrez peut-être traduire votre réseau en un réseau que Ning ne prend pas en charge. Créer une nouvelle traduction:

Comment syndiquer le contenu de votre réseau Ning - des nuls

Comment syndiquer le contenu de votre réseau Ning - des nuls

Votre réseau Ning vous offre de nombreuses façons d'utiliser Flux RSS pour syndiquer le contenu que vous et vos membres contribuent au réseau. Si les titres des éléments des flux RSS de votre réseau sont suffisamment informatifs et convaincants, les internautes qui visitent d'autres sites Web qui affichent le flux RSS de votre réseau peuvent cliquer sur les titres ...

Comment utiliser le mur de commentaires de Ning - mannequins

Comment utiliser le mur de commentaires de Ning - mannequins

Votre page de profil Ning a un mur de commentaires, où autre Les membres de Ning peuvent vous laisser des messages. Le mur de commentaires permet aux membres de vous écrire quelque chose, d'inclure un lien vers un autre site Web, d'intégrer de la vidéo à partir du réseau ou d'autres sites, ou de poster une photo pour que vous puissiez la consulter. N'importe qui dans le réseau peut partir ...