OmniLab Android Test Station

OmniLab ATS est un outil de test que les développeurs Android et les ingénieurs de test peuvent utiliser pour utiliser une interface utilisateur pour exécuter des suites de tests Android standards, telles que la suite de tests de compatibilité Android (CTS). Cet outil sert d'interface Web pour divers frameworks de test, tels que Trade Fédération (TF) et Google Mobly, ce qui vous permet d'exécuter des tests CTS et multi-appareils sur un ensemble d'appareils de test avec une configuration minimale, et d'établir un calendrier pour exécuter des tests en continu.

Configurer OmniLab ATS

Cette section explique comment installer et configurer OmniLab ATS.

OmniLab ATS utilise le code source provenant des emplacements suivants:

Installer OmniLab ATS

Respectez les exigences matérielles et logicielles pour les suites de tests que vous exécutez.

Les exigences concernant le CTS sont disponibles sur source.android.com.

Aucune exigence matérielle supplémentaire n'est requise pour OmniLab ATS, mais nous vous recommandons de commencer par les exigences concernant l'hôte CTS.

Il existe deux façons d'installer OmniLab ATS:

Installer avec le programme d'installation

Sous Ubuntu 20.04 ou version ultérieure, le programme d'installation installe et configure tous les programmes et ressources nécessaires à l'exécution d'OmniLab ATS.

Pour utiliser le programme d'installation:

  1. Exécutez le programme d'installation:

    curl https://storage.googleapis.com/android-mtt.appspot.com/prod/install.sh | bash
    
  2. Exécutez mtt version pour vérifier la version installée de la CLI OmniLab ATS.

Installer manuellement

Installer Docker
  1. Suivez les instructions d'installation de Docker Community Edition (CE) sur votre machine Linux.

  2. Suivez la procédure post-installation pour gérer Docker en tant qu'utilisateur non racine.

  3. Vous devrez peut-être redémarrer la fenêtre de terminal ou vous déconnecter, puis vous reconnecter pour que les modifications d'autorisation prennent effet.

Installer Python 3

La CLI OmniLab ATS est vérifiée par rapport aux versions 3.7 à 3.11 de Python.

Pour Ubuntu 16.04 ou version antérieure, commencez par ajouter le dépôt pour Python 3 en effectuant l'une des opérations suivantes:

  • Exécutez cette commande :

    sudo add-apt-repository ppa:deadsnakes/ppa
    
  • Créez et installez le dépôt à partir de la source.

Pour installer Python 3, exécutez les commandes suivantes:

sudo apt-get update
sudo apt install python3 python3-distutils

Pour installer une version spécifique de Python 3 (par exemple, 3.10), exécutez plutôt ces commandes :

sudo apt-get update
sudo apt install python3.10 python3.10-distutils

Obtenir la CLI OmniLab ATS

Téléchargez le package d'interface de ligne de commande (CLI) ici.

Démarrer OmniLab ATS

Démarrez OmniLab ATS avec la commande suivante:

mtt start

La première fois que l'UI est lancée, son affichage peut prendre quelques minutes. La CLI affiche une URL Web pour accéder à l'UI dans un navigateur. Par défaut, l'URL Web est localhost:8000. Si nécessaire, vous pouvez modifier le port par défaut au démarrage avec l'indicateur --port.

Si une version plus récente est disponible, vous pouvez passer à la version actuelle. Consultez les notes de version pour obtenir les dernières versions.

Pour passer à la version actuelle, exécutez la commande suivante:

mtt start --force_update

Pour arrêter l'application, exécutez la commande suivante:

mtt stop

Pour afficher la liste des autres commandes, utilisez:

mtt --help

Sauvegarder et restaurer la base de données

Pour sauvegarder la base de données OmniLab ATS, arrêtez l'application et exécutez la commande suivante, qui sauvegarde la base de données actuelle dans un fichier TAR nommé mtt-backup.tar dans votre répertoire d'accueil:

docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar cvf /out/mtt-backup.tar ."

Pour effectuer la restauration, exécutez la commande suivante avant de démarrer l'application:

docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar xvf /out/mtt-backup.tar"

Assistant de configuration

Après avoir installé et exécuté OmniLab ATS pour la première fois, l'assistant de configuration vous guide à travers quelques étapes pour vous aider à personnaliser l'outil en fonction de votre environnement. Vous pourrez modifier ultérieurement les modifications que vous y apportez via la page "Paramètres".

Restaurer une sauvegarde de configuration

Si vous disposez d'un fichier de configuration sauvegardé à partir d'un autre hôte OmniLab ATS, vous pouvez importer le fichier pour copier toutes les configurations modifiées à partir de cet hôte en cliquant sur le bouton Importer un fichier.

Restaurer la sauvegarde de la configuration

Figure 1 : Restaurer une sauvegarde de configuration

Définir le compte de service par défaut

Vous pouvez définir un compte de service qu'OmniLab ATS utilise par défaut pour accéder à vos ressources (par exemple, Google Cloud Storage, Google Drive). Pour authentifier votre compte de service, cliquez sur Importer une clé de compte de service et sélectionnez le fichier de clé JSON de votre compte de service.

Définir un compte de service

Figure 2. Configurer le compte de service

Une fois l'authentification du compte de service réussie, l'adresse e-mail du compte s'affiche en haut à droite de la page. Pour modifier le compte de service, cliquez sur le nom du compte, supprimez le compte par défaut actuel, puis importez une nouvelle clé de compte de service.

Modifier le compte de service

Figure 3. Modification du compte de service

Importer des ensembles de configuration

Un ensemble de configurations est un ensemble de configurations permettant d'exécuter des suites de tests, y compris des actions sur les appareils associées et des canaux de compilation. Les ensembles de configuration sont hébergés dans un bucket Google Cloud Storage (GCS) spécifique. Après avoir authentifié le canal de compilation GCS avec votre compte Google, vous voyez la liste de tous les ensembles de configuration disponibles.

Sélectionnez les ensembles de configuration que vous souhaitez ajouter à l'hôte de la station de test, puis cliquez sur Import Selected (Importer les éléments sélectionnés).

Importer des ensembles de configuration

Figure 4. Importer un ensemble de configuration

Inclure les paramètres Wi-Fi

Certains tests CTS nécessitent que votre appareil se connecte à un point d'accès Wi-Fi. Pour sélectionner votre réseau Wi-Fi, saisissez le SSID Wi-Fi et le PSK Wi-Fi (facultatif).

Paramètres Wi-Fi

Figure 5. Paramètres du point d'accès Wi-Fi.

Une fois l'assistant de configuration terminé, la page se recharge et les nouveaux paramètres sont appliqués.

Connecter un appareil

Le débogage USB doit être activé pour pouvoir utiliser un appareil à des fins de test. Pour activer le débogage:

  1. Suivez les instructions de la section Activer les options pour les développeurs et le débogage.

  2. Si vous prévoyez d'utiliser des builds Android de test préchargés avec des clés ADB personnalisées, placez les fichiers .adb_key personnalisés dans le répertoire ~/.android/.

    Les fichiers sont chargés automatiquement et transmis à ADB pour activer automatiquement le débogage USB après le flashage de l'appareil pour les appareils exécutant ces builds.

  3. Connectez l'appareil à la machine hôte via USB.

    L'appareil apparaît dans l'onglet "Appareils ATS OmniLab" dans la minute qui suit l'actualisation de l'interface Web. Vous pouvez également afficher l'état des appareils dans cet onglet.

    Connecter un appareil

    Figure 6. Connecter un appareil

Voici les différents états de l'appareil:

  • Disponible : l'appareil est connecté et prêt à exécuter un test.
  • Alloué : l'appareil est connecté et exécute un test. Chaque appareil ne peut exécuter qu'un seul test à la fois. Il doit donc terminer son test en cours avant d'en exécuter un autre.

Effectuer un test

Sélectionner un test

OmniLab ATS est fourni avec un ensemble de configurations CTS préemballées. Pour exécuter l'un de ces tests, accédez à l'onglet "Suites de tests", puis cliquez sur Exécuter le test pour le test sélectionné.

Sélectionner un test

Figure 7. Sélectionner un test.

Pour modifier ou ajouter des tests, consultez Ajouter des tests.

Configurer l'exécution du test

Modifiez les paramètres à utiliser pour cette exécution de test spécifique. La plupart des paramètres sont préremplis avec les valeurs définies dans la configuration de test sélectionnée.

Cette étape peut être effectuée avec les valeurs par défaut, mais vous pouvez modifier n'importe lequel des paramètres, tels que Max Retry (Nombre maximal de nouvelles tentatives) et Command (Commande) en fonction de vos besoins.

Configurer l'exécution du test

Figure 8. Configuration d'une exécution de test.

Les paramètres d'exécution du test sont les suivants:

  • Nom : nom de la suite de tests que vous souhaitez exécuter.
  • Nombre d'exécutions : nombre de fois que cette exécution de test doit être exécutée lorsqu'elle est planifiée. Les exécutions de test sont planifiées à l'aide de Trade Federation, qui exécute jusqu'à 20 exécutions de test en parallèle si la capacité le permet.
  • Nombre maximal de nouvelles tentatives : nombre maximal de nouvelles tentatives d'une exécution de test si au moins un test échoue. Ce paramètre est généralement défini sur quatre à six tentatives pour une exécution complète du CTS afin de gérer les tests incohérents.
  • Délai avant expiration de la file d'attente : si une exécution de test reste trop longtemps à l'état En file d'attente, elle est automatiquement annulée. Indiquez ici le délai d'attente avant la résiliation. La valeur par défaut est de 24 heures.
  • Commande : commande permettant d'exécuter la suite de tests. Vous pouvez saisir des arguments de ligne de commande supplémentaires ici. Par exemple, exécutez un module spécifique dans CTS 8.1 avec:

    cts-suite -m ShortModuleName
    
  • Commande de nouvelle tentative : commande permettant de relancer une suite de tests. Vous pouvez y ajouter des arguments de ligne de commande supplémentaires. Par exemple, pour ne relancer qu'un module spécifique dans CTS 8.1, utilisez:

    cts --retry 0 -m ShortModuleName
    

    Les arguments de nouvelle tentative peuvent différer de ceux disponibles avec la commande initiale. Vérifiez donc les paramètres compatibles sur le site officiel de la suite de tests sélectionnée.

  • Previous Test Run (Exécution de test précédente) - Si vous souhaitez réexécuter un précédent test:

    • Local : si l'exécution a été lancée sur l'hôte actuel, saisissez l'ID de l'exécution de test affiché lorsque vous consultez les détails de l'exécution de test.

      Exécution de test précédente locale

      Figure 9. Exécution du test précédent en local.

    • À distance : si l'exécution a été lancée sur un autre hôte, importez le fichier de résultats des tests en sélectionnant À distance, en cliquant sur Importer le fichier de résultats des tests, puis en sélectionnant un fichier dans votre espace de stockage local.

      Exécution du test précédent à distance

      Figure 10. Exécution précédente du test à distance.

Sélectionner des appareils

Cochez les cases pour sélectionner les appareils à allouer à l'exécution de la suite de tests. Le nombre de fragments doit automatiquement changer pour correspondre au nombre d'appareils sélectionnés.

Sélectionner des appareils

Figure 11 : Sélectionner des appareils.

Pour sélectionner des appareils en fonction d'attributs autres que les numéros de série, vous pouvez saisir manuellement "Caractéristiques de l'appareil". Par exemple, pour sélectionner trois appareils dont le nom du produit est "bramble", saisissez ce qui suit:

product:bramble;product:bramble;product:bramble

Les attributs acceptés sont les suivants:

  • build_id
  • appareil_série
  • device_type
  • hostname
  • produit
  • product_variant
  • sim_state

Pour exécuter l'exécution de test, tous les appareils sélectionnés doivent être à l'état Available (Disponible) et passer à l'état Allocated (Alloué) lorsque l'exécution de test est effectuée. Une exécution de test est à l'état En file d'attente lorsqu'elle attend que les appareils soient disponibles.

Ajouter des actions sur l'appareil

Les actions sur les appareils sont des scripts qui peuvent être exécutés avant l'exécution de chaque test. Certaines actions de l'appareil sont déjà configurées, comme le flashage et le redémarrage. Pour créer des actions d'appareil, consultez la section Créer une action d'appareil.

Actions sur l'appareil

Figure 12. Actions sur l'appareil

Pour ajouter une action sur un appareil à un test, cliquez sur Add new action (Ajouter une action), cochez les cases correspondant aux actions à ajouter, puis cliquez sur Add Action(s) (Ajouter une ou plusieurs actions). Les actions sur les appareils sont effectuées de manière séquentielle. Vous pouvez réorganiser les actions en les faisant glisser.

Ajouter des actions

Figure 13. Réorganiser les actions

Définir des ressources de test

Les ressources de test sont des fichiers requis pour exécuter un test. Par exemple, l'exécution de CTS nécessite un fichier android-cts*.zip, et le flashage d'un appareil nécessite de fournir l'image de compilation.

L'URL de téléchargement du fichier ZIP de la suite de tests doit correspondre par défaut aux liens Google Drive fournis aux partenaires. Vous pouvez sélectionner un autre fichier en cliquant sur Parcourir. Dans la fenêtre pop-up, vous pouvez saisir un lien de téléchargement de fichier, utiliser un fichier à partir d'un canal de compilation authentifié ou importer un fichier à utiliser à partir de l'espace de stockage local.

Ressources de test

Figure 14. Ressources de test.

Vous trouverez ci-dessous la fenêtre pop-up permettant de sélectionner une ressource de test à l'aide d'une URL Web. Vous pouvez saisir l'URL de téléchargement, puis cliquer sur le bouton Sélectionner pour confirmer la sélection.

Sélecteur de ressources de test : URL Web

Figure 15. Sélecteur de ressources de test : URL Web.

Si vous avez importé des ressources dans Google Drive, Google Cloud Storage (GCS) ou d'autres canaux, vous pouvez également accéder à l'onglet du canal spécifique et y sélectionner les ressources. Voici un exemple de sélection d'une ressource dans Google Drive.

Sélecteur de ressources de test - Google Drive

Figure 16. Test du sélecteur de ressources : Google Drive

En plus de sélectionner des fichiers, les caractères génériques sont également acceptés dans le champ Nom de fichier. Pour accéder à la documentation, cliquez ici.

Sélecteur de ressources de test : prise en charge des caractères génériques

Figure 17. Sélecteur de ressources de test : prise en charge des modèles de caractères génériques

Vous pouvez également sélectionner un fichier à partir de l'espace de stockage de fichiers local d'OmniLab ATS. Vous pouvez importer des fichiers dans cet espace de stockage ou utiliser directement des fichiers et des répertoires locaux.

Sélecteur de ressources de test - Magasin de fichiers local

Figure 18. Sélecteur de ressources de test : dépôt de fichiers local.

Ajouter des configurations de rediffusion

Vous pouvez planifier des rediffusions qui commencent une fois l'exécution principale terminée et que ses résultats sont chargés, mais vous pouvez utiliser un appareil, des actions ou des ressources différents.

Ajouter des configurations de nouvelle exécution

Figure 19. Ajout de configurations de nouvelle exécution.

Lancer un test

Après avoir saisi les informations nécessaires à l'exécution du test, cliquez sur Start Test Run (Démarrer l'exécution du test). Si toutes les informations sont valides, l'exécution du test commence et vous êtes redirigé vers une page pour afficher les détails et la progression de l'exécution du test.

Démarrer l'exécution du test

Figure 20. Lancement d'une exécution de test.

Créer un plan de test

Les plans de test permettent de créer des exécutions de test selon une programmation régulière. Par exemple, exécuter CTS 9.0 tous les jours à 17h. Pour créer un plan de test, cliquez sur Créer un plan de test.

Créer un plan de test

Figure 21. Créer un plan de test

Configurer le plan de test

Saisissez le nom du plan de test et les étiquettes que vous souhaitez ajouter. Sélectionnez ensuite un calendrier à utiliser.

  • Manuel : le plan de test ne crée des exécutions de test que lorsqu'un utilisateur clique sur Exécuter le plan de test sur la page de liste des plans de test.
  • Périodique : le plan de test programme automatiquement les exécutions de test selon la programmation périodique sélectionnée. Par exemple, programmer une exécution de test tous les jours à 17h.
  • Personnalisé : le plan de test planifie automatiquement les exécutions de test en fonction de l'expression Cron saisie. Par exemple, pour planifier une exécution de test tous les jours à 17h, l'expression Cron est 0 17 * * *.

Configurer le plan de test

Figure 22. Configurer un plan de test

Ajouter des suites de tests

Ajoutez les suites de tests que vous souhaitez programmer dans le plan de test en cliquant sur + Ajouter une configuration d'exécution de test. Sélectionnez une suite de tests dans le menu déroulant Nom, puis cliquez sur Étape suivante. Sélectionnez ensuite les appareils sur lesquels vous souhaitez exécuter le test, puis cliquez sur Ajouter une configuration. Vous pouvez ajouter plusieurs configurations pour chaque plan de test.

Configurer l'exécution du test

Figure 23. Configuration d'une exécution de test.

Ajouter des actions sur l'appareil

Ajoutez les actions de l'appareil que vous souhaitez exécuter avant chaque exécution de test. Pour en savoir plus, consultez Ajouter des actions sur l'appareil.

Ajouter des actions sur l'appareil

Figure 24. Ajout d'actions sur l'appareil.

Définir des ressources de test

L'ajout de ressources de test à des plans de test revient à les ajouter à des exécutions de test individuelles. Pour en savoir plus, consultez Définir des ressources de test.

Définir des ressources de test

Figure 25 Définir des ressources de test

Afficher les exécutions de test

Liste des exécutions de test

Consultez la liste des exécutions de test planifiées sur la page "Exécutions de test". Cliquez sur Afficher pour en savoir plus sur une exécution de test.

Vous pouvez également filtrer la liste en saisissant une chaîne dans la barre de filtres et en appuyant sur la touche Entrée. Vous pouvez utiliser plusieurs filtres en les séparant par une virgule. Le filtre renvoie toutes les lignes contenant le texte exact (sans correspondance de sous-chaîne) dans n'importe quelle colonne, à l'exception de État et Créé.

Un filtre vide renvoie toutes les lignes. Il n'existe actuellement aucun moyen de filtrer les lignes contenant des valeurs vides.

Liste des tests

Figure 26 Liste des exécutions de test.

Détails de l'exécution du test

Vous pouvez y afficher les détails d'une exécution de test, tels que son état, les journaux et les résultats.

Détails de l'exécution du test

Figure 27 Détails de l'exécution du test.

État de l'exécution du test

La progression d'une exécution de test est affichée dans la section "État". Si un message associé, tel que la progression du téléchargement, le motif de l'annulation ou un message d'erreur, s'affiche, il s'affiche également ici.

État de l'exécution du test

Figure 28 État de l'exécution du test.

Les états de l'exécution des tests sont les suivants:

  • En attente : les ressources requises sont en cours de téléchargement.
  • En file d'attente : le test est prêt à être exécuté lorsqu'un appareil devient disponible.
  • En cours d'exécution : le test est en cours d'exécution sur un appareil alloué.
  • Terminé : le test est terminé et ses résultats ont été générés.
  • Annulé : le test a été annulé par l'utilisateur ou a expiré pendant la recherche d'appareils disponibles.
  • Erreur : une erreur s'est produite et a empêché l'exécution du test.

Annuler une exécution de test

Si l'exécution du test n'est pas terminée, vous pouvez l'annuler en cliquant sur Cancel (Annuler), puis en cliquant sur Yes (Oui) dans la boîte de dialogue de confirmation. Les exécutions de test sont également annulées automatiquement si elles restent dans l'état En file d'attente plus longtemps que le champ queue_timeout_seconds. L'annulation d'une exécution de test alors qu'elle est à l'état Running peut prendre quelques minutes.

Annuler l'exécution du test

Figure 29. Annuler une exécution de test

Résultats de l'exécution de test

Une fois l'exécution d'un test terminée, les résultats sont collectés et affichés. Vous pouvez afficher des informations supplémentaires en cliquant sur la flèche de chaque exécution. Cliquez sur Afficher les fichiers de sortie pour afficher les artefacts de test collectés, tels que test_result.xml et test_result_failures.html.

Résultats du test

Figure 30 Résultats du test.

Vous pouvez consulter les journaux d'hôtes en direct et Tradefed dans l'onglet "Journaux".

Journaux d'exécution de test

Figure 31 Onglet "Journaux".

Les résultats des modules individuels se trouvent dans l'onglet "Résultats des tests".

Onglet "Résultats des tests"

Figure 32. Onglet "Résultats du test".

Vous pouvez télécharger les fichiers utilisés comme ressources de test en cliquant sur Ouvrir dans l'onglet "Ressources de test".

Onglet "Ressources de test"

Figure 33 Tester les ressources.

Pour afficher les détails de l'exécution du test, tels que create_time, accédez à l'onglet "Config".

Onglet "Configuration de test"

Figure 34 Onglet "Configuration".

Fonctionnalités avancées

Gérer les fichiers de configuration

OmniLab ATS utilise des fichiers de configuration écrits en YAML pour charger des options prédéfinies telles que des tests, des canaux de compilation et des actions sur l'appareil. Voici un exemple de fichier de configuration:

// example_file.yaml
tests:
- id : android.cts.9_0.arm
  name: CTS 9.0 (ARM)
  test_resource_defs:
  - name: android-cts.zip
    default_download_url: https://dl.google.com/dl/android/cts/android-cts-9.0_r7-linux_x86-arm.zip
    test_resource_type: TEST_PACKAGE
  command: cts
  env_vars:
  - name: TF_PATH
    value: ${TF_WORK_DIR}/android-cts/tools:${TF_WORK_DIR}/android-cts/testcases
  - name: LD_LIBRARY_PATH
    value: ${TF_WORK_DIR}/android-cts/lib:${TF_WORK_DIR}/android-cts/lib64
  setup_scripts:
  output_file_patterns:
  - android-cts/logs/latest/.*
  - android-cts/results/latest/.*\.html
  - android-cts/results/latest/compatibility_result\..*
  - android-cts/results/latest/logo.png
  - android-cts/results/latest/test_result.xml
  result_file: test_result.xml
  java_properties:
  - name: CTS_ROOT
    value: ${TF_WORK_DIR}
  context_file_dir: android-cts/results/
  context_file_pattern: '[\d_\.]+\.zip'
  retry_command_line: retry --retry 0
  runner_sharding_args: --shard-count ${TF_SHARD_COUNT}

build_channels:
- id: google_drive
  name: Google Drive
  provider_name: Google Drive

device_actions:
- id: flash
  name: Flash
  test_resource_defs:
  - name: bootloader.img
    test_resource_type: DEVICE_IMAGE
  - name: radio.img
    test_resource_type: DEVICE_IMAGE
  - name: img.zip
    test_resource_type: DEVICE_IMAGE
  tradefed_target_preparers:
  - class_name: com.android.tradefed.targetprep.RunHostCommandTargetPreparer
    option_values:
    - name: work-dir
      values:
      - ${TF_WORK_DIR}
    - name: host-setup-command
      values:
      - adb -s $SERIAL reboot-bootloader
      - fastboot -s $SERIAL flash bootloader bootloader.img
      - fastboot -s $SERIAL flash radio radio.img
      - fastboot -s $SERIAL reboot-bootloader
      - fastboot -s $SERIAL -w update img.zip
      - adb -s $SERIAL wait-for-device
    - name: host-cmd-timeout
      values:
      - 10m

Lorsque vous configurez votre instance OmniLab ATS, vous pouvez partager votre configuration avec d'autres utilisateurs en l'exportant sous forme de fichier. Pour ce faire, accédez à la page "Paramètres", puis cliquez sur Exporter en haut à droite.

Gestion des fichiers de configuration

Figure 35 Gestion des fichiers de configuration.

Une fois le fichier de configuration téléchargé, partagez-le avec d'autres utilisateurs. Il peut ajouter le fichier de configuration à son instance ATS OmniLab en cliquant sur Importer et en sélectionnant le fichier de configuration.

Créer une action d'appareil

Les actions de l'appareil permettent d'automatiser le processus de configuration de l'appareil. Les actions sont des scripts exécutés sur chaque appareil sur lequel le test s'exécute avant chaque exécution de test, y compris avant les nouvelles tentatives. Pour afficher la liste des actions disponibles sur les appareils, accédez à la page "Paramètres", puis cliquez sur l'onglet "Actions sur les appareils". Plusieurs actions sur l'appareil sont déjà configurées, comme le redémarrage et le flash.

Onglet "Actions sur l'appareil"

Figure 36 Onglet "Actions sur l'appareil".

Ajouter une action sur l'appareil

  1. Cliquez sur Nouvelle action sur l'appareil.

    Bouton d'action "Nouveau dispositif"

    Figure 37 Bouton d'action pour un nouvel appareil.

  2. Saisissez un nom et une description.

    Nom de l'action sur l'appareil

    Figure 38 Nom de l'action sur l'appareil.

  3. Cliquez sur Ajouter un préparateur de cible.

  4. Saisissez le nom complet de la classe de préparateur cible de la Trade Federation, par exemple com.android.tradefed.targetprep.RunHostCommandTargetPreparer.

    Ajouter Target Preparer

    Figure 39. Ajout d'un préparateur de cible.

    Vous trouverez la liste des préparateurs de cibles disponibles dans la documentation de référence com.android.tradefed.targetprep.

    Liste des préparateurs de cibles

    Figure 40 Liste des préparateurs cibles.

  5. Ajoutez les options à utiliser avec le préparateur cible. Pour afficher les options disponibles, recherchez targetprep pour le code source de chaque préparateur de cible dans AOSP:

    Exemple d'option d'action

    Figure 41. Exemple d'option d'action.

  6. Pour ajouter une option, cliquez sur Ajouter une option de préparation de la cible, puis saisissez les valeurs requises.

    Exemple de commande d'action

    Figure 42. Exemple de commande d'action.

  7. Définissez les ressources de test nécessaires pour exécuter l'action de l'appareil, par exemple, créer des images à flasher. Pour ajouter une définition de ressource, cliquez sur Ajouter une ressource de test, puis remplissez les champs obligatoires. Si vous savez où se trouvent vos fichiers, vous pouvez fournir une URL de téléchargement par défaut en cliquant sur Parcourir. Si les préparateurs cibles acceptent le répertoire comme ressource de test, sélectionnez Decompress (Décompresser). Spécifiez ensuite le répertoire Destination relatif sous le répertoire de travail temporaire et les noms de fichiers à décompresser. Si aucun nom de fichier n'est fourni, tous les fichiers sont décompressés à partir de la ressource de test.

    Ressources pour le test des actions

    Figure 43 Ressources de test d'action.

  8. Cliquez sur Mettre à jour.

    Action Enregistrer les modifications

    Figure 44. Action Enregistrer les modifications.

Gérer les tests

Modifier un test

Pour modifier un test enregistré, accédez à la page "Tests", puis cliquez sur Modifier sur la ligne du test que vous souhaitez modifier. Après avoir modifié la configuration de test, cliquez sur Mettre à jour.

Modifier un test

Figure 45. Modifier un test

Ajouter un test

Pour ajouter un test, accédez à la page "Tests", puis cliquez sur Créer un test. Saisissez les informations appropriées, puis cliquez sur Créer.

Créer un test

Figure 46 Créer un test

Copier un test

Figure 47 Copie d'un test.

Exporter les configurations des hôtes

Une fois un hôte configuré, vous pouvez exporter ses configurations vers un fichier. Vous pouvez importer ce fichier sur d'autres hôtes pour copier les configurations enregistrées.

Pour exporter les configurations d'un hôte, accédez à la page "Paramètres", puis cliquez sur Exporter en haut à droite.

Exporter des configurations d'hôte

Figure 48 : Exporter une configuration d'hôte

Pour importer un fichier de configuration d'hôte, accédez à la page "Paramètres", puis cliquez sur Importer en haut à droite.

Importer des configurations d'hôte

Figure 49 Importer une configuration d'hôte

Utiliser des fichiers et des répertoires locaux

À partir de la version R11, les fichiers du répertoire $HOME/.ats_storage sont automatiquement accessibles dans OmniLab ATS. Copiez ou déplacez un fichier dans ce répertoire, puis vous pouvez le sélectionner dans l'onglet Fichier local lorsque vous planifiez un exécution de test.

cp /path/to/file $HOME/.ats_storage

Sélectionner un fichier local

Figure 50 Sélection d'un fichier dans le répertoire $HOME/.ats_storage.

Vous pouvez monter des répertoires supplémentaires dans le stockage de fichiers local à l'aide de l'indicateur --mount_local_path.

mtt start --mount_local_path=/path/to/dir1 --mount_local_path=/path/to/dir2:renamed_dir2

Répertoires installés supplémentaires

Figure 51. Répertoires supplémentaires montés dans le magasin de fichiers local.

Activer le mode multi-hôte

En mode multi-hôte, les utilisateurs peuvent utiliser un seul hôte de contrôleur ATS pour gérer les appareils et effectuer des tests sur plusieurs hôtes de calcul ATS.

Architecture du mode multi-hôte

Figure 52. Architecture du mode multi-hôte.

  1. Pour démarrer le contrôleur ATS, exécutez la commande suivante:

    mtt start --operation_mode=ON_PREMISE
    
  2. Vérifiez que la manette est accessible à l'adresse http://${CONTROLLER_HOSTNAME}:8000.

  3. Pour démarrer les nœuds de calcul, utilisez la commande suivante:

    mtt start --control_server_url=http://CONTROLLER_HOSTNAME:8000 --operation_mode=ON_PREMISE
    

Si votre réseau n'autorise pas les hôtes à communiquer entre eux, vous devez suivre les instructions de configuration plus avancées ci-dessous pour le worker ATS.

  1. Connectez les deux hôtes à l'aide de tunnels SSH. Sélectionnez les ports pour les ports du serveur principal et du serveur de fichiers, par exemple 9000 et 9006.

    ssh -L ATS_PORT:localhost:8000 -L FS_PORT:localhost:8006 CONTROLLER_HOSTNAME
    
  2. Configurez et démarrez ATS.

    DOCKER_GATEWAY_IP_ADDRESS=$(ip -4 addr show dev docker0 | grep -Eo 'inet [.0-9]+/' | grep -Eo '[.0-9]+')
    socat tcp-listen:ATS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:ATS_PORT &
    socat tcp-listen:FS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:FS_PORT &
    mtt start --control_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:ATS_PORT \
                    --control_file_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:FS_PORT \
                    --operation_mode=ON_PREMISE
    

Nettoyage de fichiers

Le nettoyeur de fichiers est une tâche Cron qui s'exécute toutes les heures pour nettoyer les fichiers en fonction des configurations définies par l'utilisateur. ATS propose deux configurations par défaut pour archiver les résultats des exécutions de test et supprimer les fichiers temporaires. Ce guide explique comment personnaliser les règles et les configurations pour gérer efficacement vos fichiers.

Règles

Une stratégie définit l'opération à effectuer sur les fichiers ou les répertoires, ainsi que les critères de sélection des cibles. Les opérations disponibles sont présentées dans le tableau:

Type d'opérationParamètres
ARCHIVEremove_file: si la valeur est true, supprimez le fichier après l'archivage.
DELETE

Les critères sont basés sur les attributs de fichier et les informations système. Les critères disponibles sont indiqués dans le tableau:

Type de critèreDescriptionParamètres
LAST_MODIFIED_TIMEFiltrez les fichiers en fonction de leur date et heure de dernière modification.ttl: différents types d'expressions temporelles sont acceptés, par exemple 10m, 2h, 7 days et 4w. Consultez pytimeparse pour connaître les formats compatibles.
LAST_ACCESS_TIMEFiltrez les fichiers en fonction de la date et de l'heure de leur dernier accès.Identique à LAST_MODIFIED_TIME.
NAME_MATCHFiltrez les fichiers en fonction de leur nom à l'aide d'une expression régulière.pattern: expression régulière, par exemple [a-f0-9]{8}-([a-f0-9]{4}-){3}[a-f0-9]{12}\.zip pour faire correspondre les fichiers ZIP de résultats.
SYSTEM_AVAILABLE_SPACEDéclencher des actions en fonction de l'espace disponible sur le système.threshold: déclenche l'action lorsque l'espace disponible passe en dessous du seuil, par exemple 200(B), 200KB, 200MB, 200GB, 2TB.

Nouvelle règle de nettoyage de fichiers

Figure 53 Ajoutez une règle de nettoyage de fichiers.

Configurations

Une configuration combine une ou plusieurs règles avec des répertoires spécifiques. Les fichiers et les répertoires des répertoires spécifiés sont traités en fonction des stratégies définies. Les règles sont appliquées dans l'ordre dans lequel elles apparaissent dans la configuration.

Tous les répertoires cibles doivent se trouver dans le répertoire /data. Si votre configuration spécifie le répertoire cible comme logs, il est interprété comme /data/logs.

Modifier la configuration du nettoyeur de fichiers

Figure 54 Modifiez la configuration du nettoyeur de fichiers.

Réinitialiser

Cliquez sur Réinitialiser les paramètres pour rétablir la configuration du nettoyeur de fichiers à son état par défaut. Cette action efface TOUS les éléments personnalisés.

Réinitialiser les paramètres du nettoyeur de fichiers

Figure 55 Réinitialisez les paramètres du nettoyeur de fichiers.

Assistance

Rapports de bugs

Votre contribution à OmniLab ATS nous aide à améliorer le développement de l'outil, et nous aimerions connaître votre avis. Consultez les notes de version d'OmniLab ATS pour en savoir plus sur la dernière version. Pour signaler des bugs ou proposer des suggestions, envoyez un rapport de bug. Les partenaires doivent signaler les bugs ou les suggestions via leurs canaux partenaires.