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

Comment modifier votre profil Spotify Confidentialité - les nuls

Comment modifier votre profil Spotify Confidentialité - les nuls

Spotify estime que la publication automatique de playlists est le meilleur moyen de faites sortir la musique, mais vous ne voulez pas que cette publication automatique se produise dans tous les cas. De même, vous ne voulez peut-être pas que les gens sachent quelles sont vos meilleures chansons et artistes, et c'est assez juste. Après tout, la musique est merveilleuse pour le partage, mais ...

Comment savoir pourquoi une piste Spotify ne joue pas - Les mannequins

Comment savoir pourquoi une piste Spotify ne joue pas - Les mannequins

Parfois , vous pourriez recevoir une piste dans votre boîte de réception Spotify ou la voir sur une liste de lecture, mais elle ne fonctionnera pas. Pourquoi les autres peuvent-ils jouer, mais pas vous? Ce problème de lecture peut survenir pour plusieurs raisons: Piste non disponible: Si vous essayez d'envoyer une piste à quelqu'un depuis ...

Comment trouver un emploi chez Spotify - mannequins

Comment trouver un emploi chez Spotify - mannequins

Spotify est l'un de ces jeunes, agiles et amusants des lieux de travail (du moins, il semble que ce soit le cas, les gens qui y travaillent semblent toujours s'amuser, même s'ils semblent constamment en mouvement parce que c'est un environnement très dynamique). Regardez les vidéos et regardez les photos sur leur ...

Le choix des éditeurs

Comment parler à un partenaire des MST - mannequins

Comment parler à un partenaire des MST - mannequins

Si vous voulez vous assurer de rester STD- gratuit - et que vous vous comportez comme un partenaire sexuel responsable - alors vous devez apprendre à parler des risques du sida et d'autres infections. Dans notre société, plus de gens sont prêts à se livrer à des activités sexuelles ensemble qu'à en parler, et ...

Comment les orgasmes féminins - les nuls

Comment les orgasmes féminins - les nuls

Orgasmes féminins tendent à venir dans plus de variétés que les orgasmes masculins. Pour cette raison, les orgasmes féminins ont été une source de discorde depuis l'époque de Sigmund Freud au début des années 1900. Les femmes ont déclaré avoir vécu les types d'orgasmes suivants: Les orgasmes clitoridiens: Ces orgasmes sont déclenchés par la stimulation du clitoris, soit avant ...

Comment utiliser les condoms aussi en toute sécurité que possible - mannequins

Comment utiliser les condoms aussi en toute sécurité que possible - mannequins

Si vous voulez avoir des relations sexuelles sans risque MST ou grossesse, il est essentiel de comprendre comment rendre les préservatifs aussi sûrs que possible. Les préservatifs sont devenus l'une des méthodes de contraception les plus utilisées - en particulier pour ceux qui veulent se protéger contre les maladies sexuellement transmissibles (MST) et pas seulement les grossesses non désirées. Malheureusement, ils ...

Le choix des éditeurs

Comment adapter les techniques corps-esprit dans votre soirée - mannequins

Comment adapter les techniques corps-esprit dans votre soirée - mannequins

Au coucher du soleil ou au début soir, vous voulez trouver la paix avec votre journée et ralentir votre rythme. Coucher de soleil ou en début de soirée peut être un grand moment de prendre 30 minutes avant le dîner ou après le travail pour passer par votre routine corps-esprit. Si vous avez une famille, demandez-leur de prendre une collation ...

Comment trouver votre niveau de pleine conscience - mannequins

Comment trouver votre niveau de pleine conscience - mannequins

Vous pouvez certainement prendre n'importe quel type d'exercice non traditionnel et Déposez-le dans un tonneau étiqueté «corps-esprit». "C'est bien si vous préférez la simplicité et ne veulent pas être enveloppés de catégorisation et d'évaluation. Mais vous pouvez également regarder les programmes d'exercices à un niveau plus profond, en évaluant la quantité de ...

Comment tirer le meilleur parti de votre méditation - les tuls

Comment tirer le meilleur parti de votre méditation - les tuls

Pour tirer le meilleur parti de votre pratique de la méditation, vous besoin de s'y engager. Lorsque vous commencez à méditer régulièrement, vous pouvez récolter une myriade d'avantages - de la diminution du stress et du cholestérol à des niveaux plus élevés de satisfaction et de bonheur. Voici quelques conseils pour maximiser votre pratique de la méditation: Méditez régulièrement - de préférence tous les jours. Mettez de côté un ...