Utilisation d'instruments pour Android et AWS Device Farm - AWS Device Farm

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation d'instruments pour Android et AWS Device Farm

Device Farm prend en charge l'instrumentation (EspressoJUnit, Robotium ou tout autre test basé sur l'instrumentation) pour Android.

Device Farm fournit également un exemple d'application Android et des liens vers des tests fonctionnels dans trois frameworks d'automatisation Android, dont Instrumentation (Espresso). L'exemple d'application Device Farm pour Android est disponible en téléchargement sur GitHub.

Qu'est-ce que l'instrumentation ?

Instrumentation Android vous permet d'appeler des méthodes de rappel dans votre code de test, afin que vous puissiez parcourir le cycle de vie d'un composant étape par étape, comme si vous déboguiez le composant. Pour plus d'informations, consultez la section Tests instrumentés dans la section Types et emplacements de tests de la documentation des outils de développement Android.

Téléchargez vos tests d'instrumentation Android

Utilisez la console Device Farm pour télécharger vos tests.

  1. Connectez-vous à la console Device Farm à l'adresse https://console.aws.amazon.com/devicefarm.

  2. Sur le panneau de navigation de Device Farm, choisissez Mobile Device Testing, puis Projects.

  3. Dans la liste des projets, choisissez le projet dans lequel vous souhaitez télécharger vos tests.

    Astuce

    Vous pouvez utiliser la barre de recherche pour filtrer la liste des projets par nom.

    Pour créer un projet, suivez les instructions fournies dans Création d'un projet dans AWS Device Farm.

  4. Si le bouton Create a new run (Créer une exécution) s'affiche, choisissez-le.

  5. Sur la page Choisir une application, sélectionnez Choisir un fichier.

  6. Recherchez et sélectionnez votre fichier d'application Android. Le fichier doit être au format .apk.

  7. Choisissez Suivant.

  8. Sur la page Configurer, dans la section Configuration du cadre de test, choisissez Instrumentation, puis sélectionnez Choisir un fichier.

  9. Recherchez et choisissez le fichier .apk contenant vos tests.

  10. Choisissez Next, puis suivez les instructions restantes pour sélectionner les appareils et démarrer l'exécution.

Prendre des captures d'écran lors de tests d'instrumentation Android

Vous pouvez effectuer des captures d'écran dans le cadre de vos tests Instrumentation Android.

Pour effectuer des captures d'écran, appelez l'une des méthodes suivantes :

  • Pour Robotium, appelez la méthode takeScreenShot (par exemple, solo.takeScreenShot();).

  • Pour Spoon, appelez la méthode screenshot, par exemple :

    Spoon.screenshot(activity, "initial_state"); /* Normal test code... */ Spoon.screenshot(activity, "after_login");

Lors d'un test, Device Farm obtient des captures d'écran des emplacements suivants sur les appareils, s'ils existent, puis les ajoute aux rapports de test :

  • /sdcard/robotium-screenshots

  • /sdcard/test-screenshots

  • /sdcard/Download/spoon-screenshots/test-class-name/test-method-name

  • /data/data/application-package-name/app_spoon-screenshots/test-class-name/test-method-name

Considérations supplémentaires pour les tests d'instrumentation Android

System Animations (Animations système)

Selon la documentation Android pour les tests d'Espresso, il est recommandé de désactiver les animations du système lors des tests sur des appareils réels. Device Farm désactive automatiquement les paramètres Window Animation Scale, Transition Animation Scale et Animator Duration Scale lorsqu'il s'exécute avec le testeur d'instrumentation ndroidJUnitandroid.support.test.Runner.A Runner.

Test Recorders (Enregistreurs de test)

Device Farm prend en charge les frameworks, tels que Robotium, dotés d'outils record-and-playback de script.

Analyse syntaxique des tests en mode standard

En mode standard d'exécution, Device Farm analyse votre suite de tests et identifie les classes et méthodes de test uniques qu'elle exécutera. Cela se fait par le biais d'un outil appelé Dex Test Parser.

Lorsqu'un fichier .apk d'instrumentation Android est fourni en entrée, l'analyseur renvoie les noms de méthode complets des tests qui correspondent aux conventions JUnit 3 et JUnit 4.

Pour le tester dans un environnement local, procédez comme suit :

  1. Téléchargez le dex-test-parserbinaire.

  2. Exécutez la commande suivante pour obtenir la liste des méthodes de test qui seront exécutées sur Device Farm :

    java -jar parser.jar path/to/apk path/for/output