Exécuter des tests CTS

Trade Federation est un cadre de test continu permettant d'exécuter des tests sur les appareils Android. Pour exécuter la suite de tests de compatibilité (CTS), lisez d'abord la présentation de la fédération commerciale pour une explication du cadre de test Tradefed.

Pour exécuter un plan de test :

  1. Configurez les appareils sous test (DUT) conformément à la configuration de l'appareil Android .
  2. Assurez-vous d'avoir installé les versions récentes d' Android Debug Bridge (adb) et d'Android Asset Packaging Tool (AAPT) et d'avoir ajouté l'emplacement de ces outils au chemin système de votre ordinateur. Pour plus d’informations sur l’installation de ces outils, consultez Configuration de CTS : ADB et AAPT.
  3. Téléchargez les versions CTS publiées sur votre machine hôte Linux et décompressez la version sur l'emplacement hôte.
  4. Connectez au moins un appareil. Pour préparer le DUT :
    • Appuyez sur le bouton d'accueil pour régler l'appareil sur l'écran d'accueil.
    • N'utilisez pas le DUT pour d'autres tâches.
    • Maintenez le DUT dans une position stationnaire pour éviter de déclencher l’activité du capteur.
    • Pointez la caméra de l'appareil vers un objet pouvant faire la mise au point.
    • N'appuyez sur aucune touche de l'appareil pendant que le CTS est en cours d'exécution. Appuyer sur des touches ou toucher l'écran d'un DUT interfère avec les tests en cours et peut entraîner des échecs de test.
  5. Lancez le script cts-tradefed de la console CTS à partir du dossier où le package CTS a été décompressé. Sur le shell de ligne de commande de l'hôte, exécutez :

    ./android-cts/tools/cts-tradefed
  6. Exécutez le plan de test par défaut (contient tous les packages de test) :

    cts-tradefed > run cts
    • Si vous souhaitez améliorer le temps d'exécution des tests, vous pouvez partager les tests sur plusieurs appareils. Le partage nécessite que l'hôte connecte au moins deux appareils, mais six appareils ou plus sont recommandés pour plus d'efficacité. Lors du partitionnement de plusieurs appareils :

      • Pour Android 9 et supérieur, utilisez l'option de commande

        --shard-count number_of_shards
      • Pour Android 8.1 et versions antérieures, utilisez l'option de commande

        --shards number_of_shards
    • Si vous ne souhaitez pas exécuter l'intégralité de la suite de tests, vous pouvez exécuter le plan CTS de votre choix à partir de la ligne de commande :

      run cts --plan test_plan_name

      Pour trouver le nom du plan de test :

      • Pour Android 7.0 et versions ultérieures, pour voir une liste des modules de test, saisissez

        list modules
      • Pour Android 6.0 et versions antérieures, pour afficher une liste des plans de test dans le référentiel, saisissez

        list plans
      • Pour Android 6.0 et versions antérieures, pour afficher une liste des packages de test dans le référentiel, saisissez

        list packages
    • Pour des options de commande supplémentaires en fonction des versions de CTS, reportez-vous à la référence des commandes de la console ou sous « Aide à tous » dans la console Tradefed.

  7. Exécutez plusieurs sessions de nouvelle tentative jusqu'à ce que tous les modules de test soient terminés et que les numéros d'échec des tests soient les mêmes lors des deux dernières sessions de nouvelle tentative.

    • Pour Android 9 et supérieur, utilisez

      run retry --retry session_number --shard-count number_of_shards
    • Pour Android 7.0 à 8.1, utilisez

      run cts --retry session_number --shards number_of_shards
    • Pour obtenir des options de commande Réessayer supplémentaires en fonction de la version de CTS, consultez la console de commande CTS v2 .

    • Pour comprendre les détails de mise en œuvre de la nouvelle tentative CTS, consultez Réessayer Trade Federation Suite .

  8. Exécutez une session de nouvelle tentative uniquement sur les tests paramétrés ayant échoué. Les tests paramétrés réussis ne sont pas retentés.

    • Pour Android 11 et versions ultérieures, l'option de commande de nouvelle tentative suivante est activée par défaut dans la commande run cts :

      run retry --retry  --new-parameterized-handling
  9. Affichez la progression des tests et les résultats rapportés sur la console.

Exécutez CTS à l’aide d’Android Test Station

Android Test Station est un outil d'automatisation de tests que les développeurs et ingénieurs de test Android peuvent utiliser pour utiliser une interface utilisateur permettant d'exécuter des suites de tests standard. Il fonctionne avec la suite de tests de compatibilité Android (CTS) .

L'outil est accessible au public via le Guide de l'utilisateur ATS et son code est open source dans AOSP ( multitest_transport , tradefed_cluster ).

Exécutez CTS pour les modes alternatifs

La version CTS 10 R4 ajoute un plan de test pour les appareils dotés de modes alternatifs ou pour les appareils dotés de plusieurs écrans. Exécutez le plan de test des modes alternatifs à l'aide run cts-foldable .

Les cas de test réussis ou échoués pour le mode d'écran alternatif sont ajoutés à la valeur de display_mode , par exemple, testcase1[display_mode=0] .

Dans CTS 13, l'API DeviceStateManager permet d'exécuter des modules de test avec l'option de configuration suivante sur différents états d'un appareil pliable. L'exécution des tests est automatique dans CTS en fonction des états de pliage de l'affichage définis dans l'appareil sans qu'il soit nécessaire d'exécuter le plan de test cts-foldable .

<option name="config-descriptor:metadata" key="parameter" value="all_foldable_states" />

Tests multi-appareils dans CTS

Android 13 et versions ultérieures prennent en charge les tests multi-appareils. Les tests qui nécessitent plusieurs appareils s'exécutent automatiquement pendant l'exécution du CTS. CTS 13 inclut des tests multi-appareils qui se déclenchent automatiquement lorsque le partitionnement est utilisé. Bien que les tests ne nécessitent pas de modifications supplémentaires dans la configuration physique, virtualenv doit être installé pour que les tests s'exécutent correctement. Pour plus de détails, voir Suites multi-appareils .

Exécutez des tests multi-appareils

Pour exécuter des tests multi-appareils indépendamment, utilisez le code suivant :

  cts-tradefed > run cts-multidevice
  

Toutes les options régulières sont prises en charge. Pour cibler des appareils spécifiques, ajoutez --serial <serial1> --serial <serial2> et ainsi de suite pour le nombre d'appareils ciblés.

Pour déclencher automatiquement des tests multi-périphériques, utilisez le partitionnement, comme dans --shard-count 2 .