Vous pouvez automatiser le processus de test des applications Android à l'aide de plusieurs outils de ligne de commande, de l'utilitaire Android Debug Bridge (adb) et du contrôleur USB. Le contrôleur USB permet également de mener des tests dans des environnements sécurisés.
Avant de commencer
- Installez IBM®
Rational Functional Tester et vérifiez que l'extension pour mobile (Extension for Mobile) est sélectionnée. Pour plus de détails, voir Installation du logiciel du produit.
- Téléchargez et installez adb, qui fait partie des outils SDK Android, sur l'ordinateur exécutant le test workbench. La page de téléchargement en cours se trouve à l'adresse Android Studio mais le site peut changer à l'avenir. Il n'est pas nécessaire d'installer l'Android Studio complet. Il suffit d'accéder à la section SDK Tools Only sous Other Download Options pour obtenir le programme d'installation. Assurez-vous que votre périphérique est correctement configuré pour adb en exécutant la commande adb devices.
- Pour tester des émulateurs Android, définissez une ou plusieurs configurations AVD (Android Virtual Device). Pour plus de détails, voir Using the Emulator. Cet article décrit également des méthodes permettant d'améliorer les performances des émulateurs par le biais d'une accélération du matériel.
- Pour effectuer des tests sur des périphériques Android, activez le débogage USB en accédant à sur un périphérique Android. Connectez ensuite le périphérique Android à l'aide d'un câble USB à l'ordinateur exécutant test workbench. Si nécessaire, procurez-vous le pilote USB correspondant à votre périphérique sur http://developer.android.com/tools/extras/oem-usb.html ou accédez au site Web du fournisseur de périphérique.
- Pour effectuer des tests sur des périphériques Android, vous avez également la possibilité d'utiliser le contrôleur USB, qui fournit le mode d'installation en mode silencieux sur les émulateurs et périphériques Android, quel que soit le niveau d'API, et permet également de travailler dans des environnements sécurisés non dotés de l'accès Wi-Fi. Le contrôleur USB permet également de travailler dans un environnement dans lequel le test workbench est distant. Pour plus de détails, voir Installation et configuration du client Android avec le contrôleur USB.
- Vous ne pouvez pas exécuter un test depuis la ligne de commande sur Mac OS X.
- Enregistrez les scripts de test pour l'application à tester (AUT). Le processus d'enregistrement de test ne peut pas être automatisé. Pour plus de détails, voir Enregistrement de tests à partir du client de test d'applications mobiles Android.
Pourquoi et quand exécuter cette tâche
Le processus d'automatisation inclut les procédures suivantes :
- Ajout des applications à tester au test workbench
- Installation de l'édition la plus récente de l'application à tester sur un périphérique ou un émulateur Android.
- Installation du client de test d'applications mobiles sur un périphérique Android et démarrage de celui-ci en mode passif.
- Exécution du test à partir de la ligne de commande ou à l'aide du plug-in UrbanCode Deploy
Procédure
- Ajoutez l'application à tester au test workbench.
Vous pouvez instrumenter l'application à tester et l'ajouter au test workbench en téléchargeant l'application à partir d'un périphérique mobile ou d'un émulateur ou en cliquant sur l'icône Ajouter des applications à la liste
dans le test workbench. Pour automatiser le processus, utilisez AddAndroidApp.jar, que vous pouvez télécharger à partir de la page d'accueil Android. Pour plus d'informations, voir Ajout d'applications Android au test workbench à partir de la ligne de commande.
L'exécution de AddAndroidApp.jar génère trois nouveaux fichiers .apk :
- I-original apk name.apk - Application prête à l'enregistrement
- R-original apk name.apk - Application prête à la lecture
- T-original apk name.apk - Moteur de test pour l'application
Pour plus de détails sur les fichiers .apk et la chaîne de génération Android, voir Comment le test workbench teste des applications Android.
- Utilisez adb pour installer l'édition la plus récente de l'application à tester sur le périphérique ou l'émulateur Android. Le fichier .apk prêt à la lecture et le fichier de moteur de test .apk doivent être tous les deux installés, sauf si vous activez le mode silencieux sur le périphérique ou l'émulateur. L'utilitaire adb est généralement installé dans Android-SDK-install-location\sdk\platform-tools. L'édition 21 ou ultérieure d'Android SDK Platform-tools est requise.
- Recherchez le fichier apk prêt à la lecture et le fichier .apk du moteur de test. A la suite de l'étape 1, ces fichiers ont été téléchargés dans un dossier local intitulé localdir.
- Exécutez les commandes suivantes à partir de la ligne de commande pour installer l'édition la plus récente de l'application à tester sur un périphérique ou un émulateur Android :
adb install -r localdir/R-AUT-name.apk
adb install -r localdir/T-AUT-name.apk
- Pour installer l'application à tester sur plusieurs périphériques ou émulateurs, utilisez adb install avec l'option -s, par exemple :
adb install -s emulator-5556 -r localdir/T-AUT-name.apk
adb install -s emulator-5556 -r localdir/R-AUT-name.apk
adb install -s emulator-5558 -r localdir/T-AUT-name.apk
adb install -s emulator-5558 -r localdir/R-AUT-name.apk
Pour plus de détails, voir Directing commands to a specific emulator or device.
- Installez le client de test d'applications mobiles et démarrez-le en mode passif. Le mode passif permet d'utiliser un script ou un fichier de commandes pour contrôler l'exécution du test dans test workbench. Exécutez les commandes adb suivantes pour désinstaller une version existante du client de test d'applications mobiles, réinstaller une nouvelle version du client et définir le mode passif pour le client.
adb uninstall com.ibm.rational.test.mobile.android.client.ui
adb install "Eclipse client path/com.ibm.rational.test.mobile.android.client.ui-release.apk"
adb shell am start -n com.ibm.rational.test.mobile.android.client.ui/.MainActivity -e workbench_url "Workbench-Url" --ez passive_mode “true”
Par exemple:
adb uninstall com.ibm.rational.test.mobile.android.client.ui
adb install "C:\Program Files\IBM\IBMIMShared\com.ibm.rational.test.mobile.android.client.ui-release.apk"
adb shell am start -n com.ibm.rational.test.mobile.android.client.ui/.MainActivity -e workbench_url "9.44.55.666:7878" --ez passive_mode “true”
- Exécutez un test en mode de ligne de commande. Pour plus de détails sur l'exécution d'un test ou d'un planning en mode de ligne de commande, voir Exécution d'un test ou d'une planification à partir de la ligne de commande.
Pour automatiser les tests des applications Web mobiles, assurez-vous que l'enregistreur Web mobile est installé sur le client de test d'applications mobiles. Si le client de test d'applications mobiles est configuré pour exécuter le mode silencieux avec le contrôleur USB, l'enregistreur Web mobile sera installé automatiquement lors du démarrage de l'exécution de test. Aucune action utilisateur n'est nécessaire. Cependant, si l'installation en mode silencieux n'est pas configurée, vous devez installer l'enregistreur Web mobile en cliquant sur Gérer les applications Web une seule fois dans le client de test d'applications mobiles. Cela permet de lancer l'installation des deux fichiers apk requis et de remplir les conditions requises pour la lecture de test automatisée d'une application Web.
Si votre test automatisé nécessite l'arrêt et le redémarrage du test workbench, vous pouvez activer le paramètre Ne pas quitter à la fermeture du plan de travail dans le contrôleur USB pour que ce dernier continue de s'exécuter même après la fermeture du test workbench. Pour plus d'informations, voir Contrôleur USB.
Par défaut, test workbench sélectionne le premier périphérique connecté qui répond le mieux aux exigences de l'exécution du test (système d'exploitation Android ou API Android). Pour exécuter le test sur un ou plusieurs périphériques spécifiques, utilisez la variable de sélection d'ID périphérique. Pour trouver l'ID d'un périphérique, ouvrez l'éditeur de périphériques mobiles dans test workbench, sélectionnez un périphérique et recherchez son ID dans Propriétés détaillées.
Vous pouvez également utiliser une variable pour sélectionner un périphérique spécifique. Pour plus de détails, voir Définition d'une variable pour l'exécution d'un test à l'aide d'un périphérique mobile sélectionné.
Tous les scripts de test sont liés à une version spécifique de l'application à tester. Si vous téléchargez une nouvelle version de l'application à tester, vous devez toujours exécuter le test sur la version la plus récente. Pour plus de détails, voir Définition d'une variable dans un test pour l'exécution de la dernière version d'une application.
Remarque : Si vous avez défini la préférence associée à la restructuration automatique des tests lorsqu'une nouvelle application est ajoutée, vous n'avez pas besoin de définir cette variable.
- Pour exécuter un test en mode ligne de commande, vous pouvez également exécuter un test à l'aide du plug-in UrbanCode Deploy pour IBM Rational Test Workbench. Pour plus d'informations, voir Test à partir d'UrbanCode Deploy.