Cette section décrit les éléments internes de Tradefed et leurs relations. Pour en savoir plus, consultez les sous-pages associées.
Configurations de test
Les configurations de test dans Tradefed sont décrites au format XML. Comprendre la structure de la configuration est essentiel pour exécuter et personnaliser les tests.
Structure des configurations TF
Configurations TF globales
Un fichier de configuration globale est une configuration XML Tradefed spéciale qui est chargée au démarrage de Tradefed via la variable d'environnement TF_GLOBAL_CONFIG
. Il charge les objets liés au champ d'application de l'instance Tradefed qui affecteront le comportement global du harnais.
Détails de la configuration globale
Keystore
Le keystore permet d'injecter des options de ligne de commande dans Tradefed à partir d'un keystore afin d'éviter de référencer la valeur directement sur la ligne de commande. Cela peut être utilisé pour masquer les mots de passe de la ligne de commande en récupérant directement les mots de passe du keystore.
Gestionnaire d'appareils
Le gestionnaire d'appareils est chargé de suivre l'état des appareils sur une instance Tradefed en cours d'exécution. Des aspects tels que l'état de l'allocation et l'état en ligne sont surveillés.
Test du planificateur de commandes
Le planificateur de commandes de test dans Tradefed prend les commandes à exécuter, les associe aux appareils et lance un appel de test.
Fournisseur de compilation
Le fournisseur de build est la première étape de toute invocation de test. Il télécharge les ressources nécessaires pour configurer et exécuter les tests (créer des images, tester des APK, etc.). Il les référence également dans un objet BuildInfo
qui sera transmis au test. Les ressources disponibles localement peuvent également être associées dans l'objet BuildInfo
.
Préparateur et nettoyeur de cibles
Le préparateur de cibles propose des actions facultatives qui peuvent être effectuées pour configurer la cible testée dans un certain état, par exemple en flashant l'appareil, en définissant certaines propriétés et en se connectant au Wi-Fi.
Exécuteur de tests
Dans Tradefed, un test runner fait référence à l'objet responsable de l'exécution réelle des tests. Les différents exécuteurs de tests pilotent l'exécution des tests de différentes manières. Par exemple, un exécuteur de tests d'instrumentation sera très différent d'un exécuteur de tests JUnit.
Auteur du rapport sur les résultats
Dans Tradefed, le "reporter de résultats" fait référence à l'objet qui envoie les résultats à une destination spécifique. Chaque implémentation est généralement spécialisée pour différents backends de résultats. Le responsable des résultats est chargé de convertir le format des résultats Tradefed au format de destination.
Cette conception flexible permet à n'importe quel test de générer des rapports vers n'importe quelle destination de résultats et d'ajouter facilement d'autres tests de manière isolée.
- Ajouter un responsable des résultats
- Outil de création de rapports sur les résultats et journaux
- Récapitulatif du signalement des résultats
Collecteur de métriques
Le collecteur de métriques est un objet spécial dans Tradefed, orthogonal à l'exécution du test. Il permet de collecter des informations à différents moments du cycle de vie du test (par exemple, au début et à la fin du test). Étant donné que le collecteur est dissocié du test lui-même, les points peuvent être inversés, ajoutés et supprimés sans avoir à modifier le test lui-même.
Configuration au niveau de l'hôte
Cette section décrit les configurations applicables à l'exécution d'une instance Tradefed complète. Ces options affectent le comportement du harnais dans son ensemble afin de s'adapter à différents environnements, par exemple en cas de réseau restreint.
Autres fonctionnalités
Les sections suivantes décrivent l'utilisation générale de Tradefed plutôt que les objets Tradefed.
Partitionnement Tradefed
Lorsque le corpus de test est volumineux ou prend beaucoup de temps à s'exécuter, il est possible de le répartir sur plusieurs appareils. Cette répartition est appelée partitionnement. Cette section décrit le fonctionnement du partitionnement et sa configuration.
Utiliser SL4A
Tradefed est compatible avec la couche de script pour Android, SL4A. Il s'agit d'un ensemble d'outils d'automatisation permettant d'appeler les API Android de manière indépendante de la plate-forme.
Informations sur SL4A avec Tradefed
Téléchargement dynamique @option
Dans certains cas, les fichiers nécessaires à un test ou à une opération particulière ne sont pas disponibles localement. Cette fonctionnalité permet à Tradefed d'obtenir ces fichiers à partir d'un emplacement distant sans passer par un fournisseur de compilation.