Android Test Station OmniLab

OmniLab ATS est un outil de test que les développeurs et les ingénieurs de test Android peuvent utiliser pour exécuter des suites de tests Android standards à l'aide d'une interface utilisateur, comme la suite de tests de compatibilité Android (CTS). Cet outil sert d'interface Web pour différents frameworks de test, tels que Trade Federation (TF) et Google Mobly. Il vous permet d'exécuter des tests CTS et multidispositifs sur un ensemble d'appareils de test avec une configuration minimale, ainsi que 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 des emplacements suivants :

Installer OmniLab ATS

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

Les exigences liées à la CTS sont disponibles sur source.android.com.

Aucune exigence matérielle supplémentaire n'est requise pour OmniLab ATS, mais nous vous recommandons d'utiliser les exigences de l'hôte CTS comme point de départ.

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

Installer avec le programme d'installation

Sur 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 d'OmniLab ATS CLI.

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 du terminal ou vous déconnecter et vous reconnecter pour que les modifications des autorisations prennent effet.

Installer Python 3

L'interface de ligne de commande OmniLab ATS est vérifiée avec les versions 3.7 à 3.11 de Python.

Pour Ubuntu 16.04 ou version antérieure, ajoutez d'abord le dépôt pour Python 3 en procédant de l'une des manières 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, la version 3.10), exécutez plutôt les commandes suivantes :

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

Obtenir la CLI OmniLab ATS

Téléchargez le package de l'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'interface utilisateur est lancée, son affichage peut prendre quelques minutes. L'interface de ligne de commande affiche une URL Web permettant d'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'option --port.

Si une version plus récente est disponible, vous pouvez passer à la version actuelle. Vous pouvez consulter les notes de version pour connaître les dernières versions.

Pour effectuer la mise à jour vers 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 personnel :

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

Pour restaurer, 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 pour votre environnement. Vous pourrez reconfigurer les modifications apportées ici ultérieurement sur la page "Paramètres".

Restaurer une sauvegarde de configuration

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

Restaurer une 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 la clé du compte de service, puis sélectionnez le fichier de clé JSON de votre compte de service.

Définir un compte de service

Figure 2. Définissez le compte de service.

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

Modifier le compte de service

Figure 3. Modifier le compte de service

Importer des ensembles de configurations

Un ensemble de configurations est un ensemble de configurations permettant d'exécuter des suites de tests, y compris les actions sur les appareils et les canaux de compilation associés. Les ensembles de configurations 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 verrez la liste de tous les ensembles de configurations disponibles.

Sélectionnez les ensembles de configurations que vous souhaitez ajouter à l'hôte Test Station, puis cliquez sur Importer la sélection.

Importer des ensembles de configuration

Figure 4. Importer un ensemble de configurations

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 avec les nouveaux paramètres appliqués.

Connecter un appareil

Le débogage USB doit être activé pour 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 versions de test Android préchargées 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 versions.

  3. Connectez l'appareil à la machine hôte à l'aide d'un câble USB.

    L'appareil apparaît dans l'onglet "OmniLab ATS Devices" (Appareils OmniLab ATS) dans la minute qui suit l'actualisation de l'interface Web. Vous pouvez également consulter 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.
  • Attribué : 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 le 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éintégré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.

Vous pouvez effectuer cette étape en utilisant les valeurs par défaut, mais vous pouvez modifier n'importe quel paramètre, tel que Max Retry (Nombre maximal de tentatives) et Command (Commande), en fonction de vos besoins.

Configurer l'exécution du test

Figure 8. Configurer une exécution de test

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

  • Name (Nom) : nom de la suite de tests que vous souhaitez exécuter.
  • Nombre d'exécutions : nombre de fois où cette série de tests doit être exécutée lorsqu'elle est planifiée. Les exécutions de tests sont planifiées à l'aide de Trade Federation, qui exécute jusqu'à 20 exécutions de tests en parallèle si la capacité le permet.
  • Nombre maximal de nouvelles tentatives : nombre maximal de nouvelles tentatives d'exécution d'un test si au moins un test échoue. Ce paramètre est généralement défini sur 4 à 6 nouvelles tentatives pour une exécution CTS complète afin de gérer les tests instables.
  • Délai avant expiration de la file d'attente : si une série de tests reste trop longtemps à l'état En file d'attente, elle est automatiquement annulée. Indiquez ici le délai d'attente avant l'annulation. 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 la commande suivante :

    cts-suite -m ShortModuleName
    
  • Commande "Réessayer" : commande permettant de réessayer une suite de tests. Vous pouvez ajouter des arguments de ligne de commande supplémentaires ici. 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 acceptés sur le site officiel pour la suite de tests sélectionnée.

  • Exécution de test précédente : si vous souhaitez réexécuter une exécution de test précédente :

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

      Exécution de test précédente locale

      Figure 9. Exécution de tests précédente locale.

    • À 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 stockage local.

      Exécution de test précédente à distance

      Figure 10. Exécutez à distance le test précédent.

Sélectionner des appareils

Cochez les cases pour sélectionner les appareils à allouer à l'exécution de la suite de tests. Le nombre de partitions doit changer automatiquement 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 de produit est "bramble", saisissez la commande suivante :

product:bramble;product:bramble;product:bramble

Les attributs acceptés sont les suivants :

  • build_id
  • device_serial
  • device_type
  • nom d'hôte
  • produit
  • product_variant
  • sim_state

Tous les appareils sélectionnés doivent être à l'état Disponible pour que l'exécution du test puisse avoir lieu. Ils passent tous à l'état Alloué lorsque l'exécution du test est lancée. Un test est à l'état En file d'attente lorsqu'il attend que des appareils soient disponibles.

Ajouter des actions pour un appareil

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

Actions sur l'appareil

Figure 12. Actions sur l'appareil.

Pour ajouter une action d'appareil à un test, cliquez sur Ajouter une action, cochez les actions à ajouter, puis cliquez sur 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 nécessaires à l'exécution d'une série de tests. Par exemple, l'exécution de CTS nécessite un fichier android-cts*.zip, et le flashage d'un appareil nécessite que vous fournissiez l'image de compilation.

L'URL de téléchargement du fichier ZIP de la suite de tests doit être définie par défaut sur les 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 provenant d'un canal de compilation authentifié ou importer un fichier à utiliser à partir du 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 le lien 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 concerné et y sélectionner des ressources. Voici un exemple de sélection d'une ressource dans Google Drive.

Test du sélecteur de ressources : Google Drive

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

En plus de la simple sélection de fichiers, les caractères génériques sont également acceptés dans le champ Nom de fichier. Pour consulter la documentation, cliquez ici.

Sélecteur de ressources de test : compatibilité avec les modèles à caractères génériques

Figure 17. Sélecteur de ressources de test : compatible avec les schémas de caractères génériques.

Vous pouvez également sélectionner un fichier dans l'espace de stockage de fichiers locaux 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 : magasin de fichiers local.

Ajouter des configurations de réexécution

Vous pouvez programmer des rediffusions qui commencent après l'exécution principale et charger leurs résultats, mais vous pouvez utiliser des appareils, des actions ou des ressources différents.

Ajouter des configurations Rerun

Figure 19. Ajout de configurations Rerun.

Lancer un test

Après avoir saisi les informations nécessaires à l'exécution du test, cliquez sur 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'un test.

Créer un plan de test

Les plans de test permettent de créer des séries de tests selon une programmation régulière. Par exemple, exécutez 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 libellés que vous souhaitez ajouter. Sélectionnez ensuite une programmation à utiliser.

  • Manuel : le plan de test ne crée des séries de tests que lorsqu'un utilisateur clique sur Exécuter le plan de test sur la page de la liste des plans de test.
  • Périodique : le plan de test planifie automatiquement les exécutions de tests selon la planification périodique sélectionnée. Par exemple, vous pouvez planifier une série de tests tous les jours à 17h.
  • Personnalisé : le plan de test planifie automatiquement les exécutions de tests en fonction de l'expression Cron saisie. Par exemple, pour planifier une série de tests 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 planifier par 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. Configurer une exécution de test

Ajouter des actions pour un appareil

Ajoutez les actions de l'appareil que vous souhaitez exécuter avant chaque série de tests. Pour en savoir plus, consultez Ajouter des actions d'appareil.

Ajouter des actions sur les appareils

Figure 24. Ajout d'actions pour les appareils.

Définir des ressources de test

L'ajout de ressources de test aux plans de test est identique à l'ajout de ressources aux exécutions de test individuelles. Pour en savoir plus, consultez Définir des ressources de test.

Définir les ressources de test

Figure 25. Définir des ressources de test

Afficher les exécutions de test

Liste des exécutions de test

Affichez la liste des exécutions de tests planifiées sur la page "Exécutions de tests". Cliquez sur Afficher pour en savoir plus sur une série de tests.

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 (aucune 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 avec des valeurs vides.

Liste des tests

Figure 26. Liste des tests exécutés.

Détails de l'exécution du test

Vous pouvez consulter les détails d'une exécution de test, tels que l'é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 série de tests est indiquée dans la section "État". Si un message associé s'affiche (par exemple, la progression du téléchargement, le motif de l'annulation ou un message d'erreur), il est également indiqué ici.

État de l'exécution du test

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

Voici les états d'une série de tests :

  • 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 attribué.
  • Terminé : le test est terminé et les résultats ont été communiqués.
  • Canceled (Annulé) : le test a été annulé par l'utilisateur ou a expiré lors de la recherche d'appareils disponibles.
  • Erreur : une erreur s'est produite et a empêché l'exécution du test.

Annuler une série de tests

Si l'exécution du test n'est pas terminée, vous pouvez l'annuler en cliquant sur Annuler, puis sur Oui dans la boîte de dialogue de confirmation. Les tests sont également annulés automatiquement s'ils restent à l'état En file d'attente plus longtemps que la valeur du champ queue_timeout_seconds. L'annulation d'un test en cours d'exécution (état Running) peut prendre quelques minutes.

Annuler l'exécution du test

Figure 29. Annuler une série de tests.

Résultats de l'exécution de test

Une fois un test terminé, 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 de l'exécution du test

Figure 30. Résultats de l'exécution du test.

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

Journaux d'exécution des tests

Figure 31. Onglet "Journaux".

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

Onglet "Résultats du test"

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 "Test Resources" (Ressources de test)

Figure 33. Onglet "Ressources de test".

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 "Config".

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 les tests, les canaux de compilation et les actions sur les appareils. 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" et 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. Pour ajouter le fichier de configuration à leur instance OmniLab ATS, ils peuvent cliquer sur Import (Importer) et sélectionner le fichier de configuration.

Créer une action d'appareil

Les actions sur les appareils permettent d'automatiser le processus de configuration des appareils. Les actions sont des scripts exécutés sur chaque appareil sur lequel le test est exécuté avant chaque exécution de test, y compris avant les nouvelles tentatives. Pour afficher la liste des actions disponibles pour 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 flashage.

Onglet "Actions sur l'appareil"

Figure 36. Onglet "Actions sur l'appareil".

Ajouter une action pour un appareil

  1. Cliquez sur Nouvelle action sur l'appareil.

    Bouton "Nouvelle action de l'appareil"

    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 de l'appareil.

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

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

    Ajouter un préparateur de cible

    Figure 39. Ajouter un préparateur de cibles

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

    Liste des préparateurs cibles

    Figure 40. Liste des préparateurs cibles.

  5. Ajoutez les options à utiliser avec le préparateur cible. Pour afficher les options disponibles, consultez 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 à l'exécution de l'action de l'appareil (par exemple, créez des images pour le flashage). Pour ajouter une définition de ressource, cliquez sur Ajouter une ressource de test et 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 Décompresser. Spécifiez ensuite le répertoire de destination relatif sous le répertoire de travail temporaire et les noms de fichiers à décompresser. Si aucun nom de fichier n'est indiqué, tous les fichiers sont décompressés à partir de la ressource de test.

    Ressources de test d'actions

    Figure 43. Ressources de test d'action.

  8. Cliquez sur Mettre à jour.

    Action "Enregistrer les modifications"

    Figure 44. Action permettant d'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 du 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. Copier un test

Exporter les configurations d'hôte

Une fois que vous avez configuré un hôte, vous pouvez exporter ses configurations dans 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" et 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 de l'hôte, accédez à la page "Paramètres" et 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 pourrez le sélectionner dans l'onglet Fichier local lorsque vous planifierez un 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 système de fichiers local avec 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 système de fichiers local.

Activer le mode multi-organisateur

Le mode multihôte permet aux utilisateurs d'utiliser un seul hôte de contrôleur ATS pour gérer les appareils et les tests sur plusieurs hôtes de nœud de calcul ATS.

Architecture du mode multihô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. Le contrôleur de vérification 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 sur le nœud de calcul ATS.

  1. Connectez les deux hôtes à l'aide de tunnels SSH. Sélectionnez 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
    

Nettoyeur 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 dispose de deux configurations par défaut pour archiver les résultats des tests 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 règle 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 indiquées dans le tableau suivant :

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 des fichiers et les informations système. Les critères disponibles sont indiqués dans le tableau suivant :

Type de critèreDescriptionParamètres
LAST_MODIFIED_TIMEFiltrer les fichiers en fonction de la date et de l'heure de leur dernière modificationttl : différents types d'expressions temporelles sont acceptés, par exemple 10m, 2h, 7 days, 4w. Pour connaître les formats acceptés, consultez pytimeparse.
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éclenchez des actions en fonction de l'espace disponible sur le système.threshold : déclenche l'action lorsque l'espace disponible est inférieur au seuil, par exemple 200(B), 200KB, 200MB, 200GB, 2TB.

Nouvelle règle concernant l'outil 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 répertoires des répertoires spécifiés sont traités en fonction des règles 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

Si vous cliquez sur Réinitialiser les paramètres, la configuration du nettoyeur de fichiers est rétablie à son état par défaut. Cette action efface TOUS les éléments personnalisés.

Réinitialiser les paramètres de l'outil de nettoyage de fichiers

Figure 55 : Réinitialisez les paramètres de l'outil de nettoyage de fichiers.

Assistance

Rapports de bugs

Votre contribution à OmniLab ATS nous aide à améliorer le développement de l'outil. Nous avons besoin de votre avis ! Pour en savoir plus sur la dernière version, consultez les notes de version d'OmniLab ATS. Pour signaler des bugs ou faire des suggestions, envoyez un rapport de bug. Les partenaires doivent signaler les bugs ou les suggestions via leurs canaux partenaires.