Cette section décrit les composants 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 des tests.
Structure des configurations TF
Configurations TF globales
Un fichier de configuration global est une configuration XML Tradefed spéciale qui est chargée lorsque Tradefed démarre via la variable d'environnement TF_GLOBAL_CONFIG
. Il charge les objets liés à la portée de l'instance Tradefed qui affecteront le comportement global du harnais.
Détails de la configuration globale
Keystore
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. Vous pouvez utiliser cette option pour masquer les mots de passe de la ligne de commande en les récupérant directement dans le keystore.
Gestionnaire d'appareils
Le gestionnaire d'appareils est responsable du suivi de l'état des appareils sur une instance en cours d'exécution de Tradefed. Des aspects tels que l'état d'allocation et l'état en ligne sont surveillés.
Planificateur de commandes de test
Le planificateur de commandes de test dans Tradefed prend les commandes à exécuter, les associe aux appareils et lance une invocation de test.
Fournisseur de compilation
Le fournisseur de compilation 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 (images de compilation, APK de test, 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 cible propose des actions facultatives qui peuvent être effectuées pour configurer la cible testée dans un état donné, par exemple flasher l'appareil, définir certaines propriétés et se connecter au Wi-Fi.
Test Runner
Un exécuteur de test dans Tradefed fait référence à l'objet responsable de l'exécution du test. Différents exécuteurs de test pilotent l'exécution des tests de différentes manières. Par exemple, un exécuteur de test d'instrumentation est très différent d'un exécuteur de test JUnit.
Outil de création de rapports sur les résultats
Le rapporteur de résultats dans Tradefed fait référence à l'objet qui enverra 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 rapporteur de 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 pour n'importe quelle destination de résultats et d'ajouter facilement d'autres tests de manière isolée.
- Ajouter un outil de création de rapports sur les résultats
- Outil de création de rapports sur les résultats et journaux
- Résumé de Result Reporter
Collecteur de métriques
Le collecteur de métriques est un objet spécial dans Tradefed, orthogonal à l'exécution des tests. Il permet de collecter des informations à différents points du cycle de vie du test (par exemple, début et fin du test). Étant donné que le collecteur est dissocié du test lui-même, les points peuvent être échangé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 si vous vous trouvez dans un réseau restreint.
Autres fonctionnalités
Les sections suivantes décrivent l'utilisation générale des objets Tradefed plutôt que celui des objets Tradefed.
Division en sharding Tradefed
Lorsque le corpus de test est volumineux ou que son exécution prend beaucoup de temps, il est possible de le diviser sur plusieurs appareils. Nous appelons cette division fractionnement. Cette section explique comment fonctionne le sharding et comment il est configuré.
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.
SL4A avec des informations sur 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.
Téléchargement dynamique @option