Android Test Station OmniLab

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

Présentation d'OmniLab ATS 2.0

OmniLab ATS 2.0 migre l'infrastructure d'exécution de test sous-jacente de Trade Federation vers OmniLab. Ce changement apporte un backend plus robuste et efficace, tout en préservant l'interface utilisateur et les workflows d'OmniLab ATS 1.0.

Principaux avantages d'OmniLab ATS 2.0 :

  • Infrastructure modernisée : exploite la plate-forme OmniLab pour améliorer la stabilité et les performances.
  • Transition fluide : aucune modification de l'UI Web ni des workflows d'exécution des tests principaux.
  • Prêt pour l'avenir : s'aligne sur l'infrastructure de test unifiée de Google, ce qui permet d'adopter plus rapidement les nouvelles fonctionnalités.

OmniLab ATS 2.0 inclut de nouvelles fonctionnalités telles que les mises à jour groupées des plans de test, l'allocation avancée des appareils et bien d'autres à venir. Consultez les notes de version pour en savoir plus.

Passer à OmniLab ATS 2.0 :

Pour utiliser OmniLab ATS 2.0, vous devez mettre à niveau votre station vers la version R52 ou une version ultérieure. Utilisez l'option --force_ats_version 2 pour passer au nouvel Omnilab ATS 2.0 et l'option --force_update avec la commande mtt start pour passer à la dernière version :

mtt start --force_ats_version 2 --force_update

Pendant la période de migration, nous vous recommandons d'utiliser le tag dogfood pour accéder à la dernière version stable avec les fonctionnalités d'OmniLab ATS 2.0 :

mtt start --force_ats_version 2 --tag dogfood --force_update

Nous prévoyons de faire d'OmniLab ATS 2.0 la version par défaut au troisième trimestre 2026. Nous prévoyons de supprimer progressivement OmniLab ATS 1.0 d'ici la fin de l'année 2026.

Pour en savoir plus sur les mises à jour spécifiques, les différences connues et les conseils de mise à niveau, consultez le guide de mise à niveau d'OmniLab ATS 2.0.

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 des suites de tests que vous exécutez.

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

Il n'y a pas d'exigences matérielles supplémentaires 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

Le programme d'installation est compatible avec Ubuntu 22.04 et versions ultérieures. 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 votre terminal ou vous déconnecter, puis vous reconnecter pour que les modifications d'autorisation prennent effet.

Installer Python 3

La CLI OmniLab ATS nécessite Ubuntu 22.04 ou une version ultérieure. La CLI est validée pour les versions de Python 3.10 à 3.13.

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

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

Si vous avez besoin d'une version de Python 3 non incluse dans votre distribution standard, ajoutez d'abord 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 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 de l'interface de ligne de commande (CLI) ici.

Démarrer OmniLab ATS

Démarrez OmniLab ATS à l'aide de la commande suivante :

mtt start

La première fois que l'UI est lancée, elle peut mettre quelques minutes à s'afficher. La CLI 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 à l'aide de l'option --port.

Si une version plus récente est disponible, vous pouvez l'installer. 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 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 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 modifier les changements que vous apportez ici ultérieurement sur 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 l'importer 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, puis sélectionnez le fichier de clé JSON de votre compte de service.

Définir un compte de service

Figure 2. Définition du compte de service.

Une fois le compte de service authentifié, 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 et importez une nouvelle clé de compte de service.

Changer de 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 d'appareil 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 une liste de tous les ensembles de configuration disponibles.

Sélectionnez les ensembles de configurations que vous souhaitez ajouter à votre hôte Test Station, puis cliquez sur Import Selected (Importer la sélection).

Importer des ensembles de configurations

Figure 4. Importation d'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, si vous le souhaitez, la clé prépartagée Wi-Fi.

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 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 une fois que l'appareil est flashé 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 un délai d'une minute après 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 possibles d'un appareil :

  • Disponible : l'appareil est connecté et prêt à exécuter un test.
  • Allocated (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 nouveau.

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.

Cette étape peut être effectuée à l'aide des valeurs par défaut, mais vous pouvez modifier n'importe quel paramètre, tel que Nombre maximal de tentatives et 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 de la suite de tests que vous souhaitez exécuter.
  • Nombre d'exécutions : nombre de fois que ce test doit être exécuté lorsqu'il est planifié. Les exécutions de tests sont planifiées à l'aide de Trade Federation, qui exécute jusqu'à 20 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. Cette valeur est généralement définie sur 4 à 6 nouvelles tentatives pour une exécution complète de la CTS afin de gérer les tests irréguliers.
  • 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. Spécifiez ici le délai d'attente avant l'annulation. La valeur par défaut est 24 heures.
  • Commande : commande permettant d'exécuter la suite de tests. Vous pouvez saisir ici des arguments de ligne de commande supplémentaires. 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 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 compatibles sur le site officiel de la suite de tests sélectionnée.

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

    • 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 en local

      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 de test en sélectionnant À distance, en cliquant sur Importer le fichier de résultats de test, puis en sélectionnant un fichier dans votre espace de stockage local.

      Supprimer le test précédent

      Figure 10. Supprimez l'exécution de test précédente.

Il n'est possible qu'avec certains appareils.

Cochez les cases pour sélectionner les appareils à allouer pour l'exécution de la suite de tests. Le nombre de segments devrait automatiquement être remplacé par le nombre d'appareils sélectionnés.

Sélectionner des appareils

Figure 11. Sélection des appareils…

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

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 exécuter le test, et ils passent tous à l'état Alloué lorsque le test est exécuté. Un test est à l'état En file d'attente lorsqu'il attend que des appareils soient disponibles.

Ajouter des actions sur l'appareil

Les actions sur l'appareil sont des scripts qui peuvent être exécutés avant 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 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 cases correspondant aux actions à ajouter, puis cliquez sur Ajouter une ou plusieurs actions. Les actions sur l'appareil sont effectuées de manière séquentielle. Vous pouvez réorganiser les actions en les faisant glisser.

Ajouter des actions

Figure 13. Réorganisation des 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 provenant d'un canal de compilation authentifié ou importer un fichier à utiliser depuis 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 par URL Web. Vous pouvez saisir le lien de l'URL de téléchargement, puis cliquer sur le bouton Sélectionner pour confirmer la sélection.

Test Resource Selector - Web URL

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.

Sélecteur de ressources de test – Google Drive

Figure 16. Sélecteur de ressources de test – Google Drive.

En plus de sélectionner des fichiers, vous pouvez utiliser des caractères génériques dans le champ Nom de fichier. La documentation est disponible sur cette page.

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

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

Vous pouvez également sélectionner un fichier dans 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 – Magasin de fichiers local.

Ajouter des configurations de réexécution

Vous pouvez planifier des réexécutions qui démarrent une fois l'exécution principale terminée et chargent ses résultats, mais qui peuvent utiliser des appareils, des actions ou des ressources différents.

Ajouter des configurations de réexécution

Figure 19. Ajout des configurations de réexécution.

Lancer un test

Après avoir saisi les informations nécessaires à l'exécution du test, cliquez sur Lancer l'exécution du test. Si toutes les informations sont valides, le test démarre et vous êtes redirigé vers une page où vous pouvez consulter les détails et la progression du test.

Lancer 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 exécutions de test de manière périodique. 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 libellés que vous souhaitez ajouter. Sélectionnez ensuite une planification à 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 la liste des plans de test.
  • Périodique : le plan de test planifie automatiquement les exécutions de test selon la planification périodique sélectionnée. Par exemple, planifier l'exécution d'un 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 un 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 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 Add Configuration (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 sur l'appareil

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

Ajouter des actions sur l'appareil

Figure 24. Ajout d'actions pour un appareil.

Définir des ressources de test

L'ajout de ressources de test aux plans de test est identique à l'ajout de ressources de test à des 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éfinition des ressources de test…

Afficher les exécutions de test

Liste des exécutions de test

Affichez la liste des exécutions de tests programmées sur la page "Exécutions de tests". Cliquez sur Afficher pour afficher plus de détails sur un test.

Vous pouvez également filtrer la liste en saisissant une chaîne dans la barre de filtre 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 (pas de correspondance de sous-chaîne) dans n'importe quelle colonne, à l'exception de État et Création.

Un filtre vide renvoie toutes les lignes. Il n'est actuellement pas possible de filtrer les lignes contenant des valeurs vides.

Liste des exécutions de test

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

Détails de l'exécution du test

Vous pouvez afficher les détails d'un test ici, 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'un test est indiquée dans la section "État". Si un message associé s'affiche, tel que la progression du téléchargement, le motif d'annulation ou un message d'erreur, il s'affiche également ici.

État de l'exécution du test

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

Les états d'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 est 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é rapportés.
  • 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 un test

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

Annuler l'exécution du test

Figure 29. Annulation d'un test.

Résultats de l'exécution du test

Une fois l'exécution d'un test terminée, les résultats sont collectés et affichés. Vous pouvez afficher des détails 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 consulter les journaux de l'hôte et de Tradefed en direct dans l'onglet "Logs" (Journaux).

Journaux d'exécution des tests

Figure 31. Onglet "Journaux"

Les résultats des modules individuels sont disponibles 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 "Ressources de test"

Figure 33. Onglet "Ressources de test".

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

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" et cliquez sur Exporter en haut à droite.

Gestion des fichiers de configuration

Figure 35. Gestion des fichiers de configuration.

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

Créer une action d'appareil

Les actions de l'appareil sont utilisées pour automatiser le processus de configuration de l'appareil. 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 sur l'appareil, accédez à la page "Paramètres", puis cliquez sur l'onglet "Actions sur l'appareil". 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 de l'appareil.

    Bouton d'action "Nouvel appareil"

    Figure 37. Bouton d'action "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 cible Trade Federation, par exemple com.android.tradefed.targetprep.RunHostCommandTargetPreparer.

    Ajouter un préparateur de cible

    Figure 39. Ajouter un préparateur cible.

    La liste des préparateurs de cibles disponibles est disponible 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 de cible. Pour afficher les options disponibles, consultez targetprep pour obtenir le code source de chaque préparateur 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éparateur de cible et 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 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 en tant que 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 fourni, tous les fichiers sont décompressés à partir de la ressource de test.

    Ressources de test des actions

    Figure 43. Ressources de test d'action.

  8. Cliquez sur Mettre à jour.

    Action Enregistrer les modifications

    Figure 44. Action d'enregistrement des 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. Modification d'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

Après avoir 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", puis cliquez sur Exporter en haut à droite.

Exporter des configurations d'hôte

Figure 48. Exportation d'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. Importation d'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. Vous pourrez ensuite le sélectionner dans l'onglet Fichier local lors de la planification d'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 installer des répertoires supplémentaires dans le magasin de fichiers local à l'aide de l'option --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 installés dans le magasin de fichiers local.

Activer le mode multi-hôte

Le mode multi-hô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 en mode multihôte.

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

    mtt start --operation_mode=ON_PREMISE
    
  2. Vérifiez que le contrôleur 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 ne permet pas aux hôtes de communiquer entre eux, vous devez suivre les instructions de configuration plus avancées ci-dessous concernant 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 un job 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 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 suivant :

Type de critèreDescriptionParamètres
LAST_MODIFIED_TIMEFiltrez les fichiers en fonction de la date et de l'heure de leur dernière modification.ttl : différents types d'expressions temporelles sont acceptés, par exemple 10m, 2h, 7 days, 4w. Consultez pytimeparse pour connaître les formats compatibles.
LAST_ACCESS_TIMEFiltrer 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 une action lorsque l'espace disponible est inférieur au seuil, par exemple 200(B), 200KB, 200MB, 200GB, 2TB.

Nouvelle règle de nettoyage des 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 situés dans les 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

Cliquez sur Réinitialiser les paramètres pour rétablir la configuration par défaut du nettoyeur de fichiers. 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 souhaitons connaître votre avis. Pour en savoir plus sur la dernière version, consultez les notes de version d'OmniLab ATS. Pour signaler des bugs ou proposer des suggestions, envoyez un rapport de bug. Les partenaires doivent signaler les bugs ou envoyer des suggestions via leurs canaux partenaires.