L'outil Android Compatibility Test Suite Verifier (Vérificateur CTS) complète la suite de tests de compatibilité (CTS). Alors que la suite CTS vérifie les API et les fonctions qui peuvent être automatisées, le vérificateur CTS fournit des tests pour les API et les fonctions qui ne peuvent pas être testées sur un appareil fixe sans saisie ou positionnement manuel, comme la qualité audio, l'écran tactile, l'accéléromètre et la caméra.
Conditions requises
Avant d'exécuter le vérificateur CTS, assurez-vous de disposer de l'équipement suivant :
- Appareil Android dont la compatibilité avec l'API Android a été vérifiée en réussissant la suite CTS. Il s'agit de l'appareil soumis aux tests.
- Ordinateur Linux avec un port compatible USB 2.0. Toutes les connexions à l'appareil soumis aux tests passent par ce port.
- Deuxième appareil Android avec une implémentation connue et compatible de Bluetooth, Wi-Fi Direct, Wi-Fi Aware, UWB (si l'appareil soumis aux tests est compatible avec l'UWB) et d'émulation de carte hôte (HCE) NFC.
- Routeur Wi-Fi configuré avec un nom de point d'accès et un mot de passe. Le routeur doit pouvoir se déconnecter d'Internet sans être éteint.
Assurez-vous également de préparer les trépieds, les supports d'appareils et les distances prémesurées requises pour les tests de mesure de distance (proximité) pour l'UWB, le Wi-Fi NAN et le RSSI Bluetooth. Pour en savoir plus, consultez Calibration de la présence.
Exigences relatives à l'UICC pour les tests NFC
Le vérificateur CTS comporte les cas de test NFC suivants :
- Field-off (utilise les données de transaction de 0x54)
- De-select (utilise les données de transaction de 0x52)
- Commande HCI (0025000000) (utilise les données de transaction de 0x02)
Les tests d'événements de transaction nécessitent deux appareils, dont l'un doit disposer d'une UICC SecureElement avec les règles d'accès suivantes :
- Hachage de l'APK CtsVerifier : 61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
- Identifiant d'application autorisé (AID) pour l'accès aux événements NFC : 0xA000000476416E64726F696443545341
Du côté de l'émulateur, nous nous attendons à ce que l'événement de transaction place l'activité correspondante au premier plan.
Configuration
Android 17 nécessite une étape de configuration CTS-V supplémentaire pour accorder le rôle de navigateur par défaut.
Modifiez le mode de navigation du système de l'appareil de test en mode à trois boutons comme suit :
- Ouvrez les Paramètres.
- Accédez à Système > Interaction > Mode de navigation.
- Sélectionnez n'importe quel mode de navigation basé sur des boutons. Le mode à trois boutons est préférable, s'il est disponible.
Pour configurer l'environnement de test du vérificateur CTS :
Sur l'ordinateur Linux :
- Avant d'installer le vérificateur CTS, exécutez la commande suivante pour autoriser l'accès aux interfaces non SDK :
adb shell settings put global hidden_api_policy 1Installez Android Studio.
Téléchargez l'APK du vérificateur CTS pour la version d'Android à tester.
Connectez l'appareil soumis aux tests à l'ordinateur Linux.
À partir d'un terminal de l'ordinateur Linux, installez
CtsVerifier.apksur l'appareil soumis aux tests :adb install -r -g CtsVerifier.apkPour Android 10 et versions ultérieures, exécutez la commande suivante pour autoriser l'application à créer le rapport :
adb shell appops set com.android.cts.verifier android:read_device_identifiers allowPour Android 11 et versions ultérieures, exécutez la commande suivante pour autoriser l'enregistrement des rapports dans un répertoire auto-défini sous le répertoire de niveau supérieur externe de l'appareil :
adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0Pour Android 13 et versions ultérieures, exécutez la commande suivante pour autoriser l'accès à l'API de test pour le vérificateur CTS :
adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifierPour Android 14 et versions ultérieures, exécutez la commande suivante pour autoriser l'application à allumer l'écran :
adb shell appops set com.android.cts.verifier TURN_SCREEN_ON 0Pour Android 17 et versions ultérieures, exécutez la commande suivante pour accorder le rôle de navigateur par défaut au vérificateur CTS :
adb shell 'cmd role add-role-holder --user $(am get-current-user) android.app.role.BROWSER com.android.cts.verifier'Vérifiez que la date et l'heure du système sont correctement définies sur l'appareil soumis aux tests.
Exécuter le vérificateur CTS
Lancez l'application du vérificateur CTS en appuyant sur l'icône du vérificateur CTS sur l'appareil soumis aux tests.
Figure 1. Icône du vérificateur CTS.
L'application affiche plusieurs ensembles de tests disponibles pour une validation manuelle.
Figure 2. Menu des tests du vérificateur CTS.
Chaque test contient un ensemble d'éléments communs en bas de l'écran.
Figure 3. Écran de test avec des éléments de test communs mis en surbrillance.
- Réussite (✓) : appuyez si l'appareil soumis aux tests répond aux exigences du test conformément aux instructions d'information.
- Info (?) : appuyez pour afficher les instructions du test. S'affiche également automatiquement la première fois qu'un test est ouvert.
- Échec (!) : appuyez si l'appareil soumis aux tests ne répond pas aux exigences du test conformément aux instructions d'information.
Certains tests, tels que le mode accessoire USB et le test de calibration de la caméra, nécessitent une configuration et des instructions de test supplémentaires, comme indiqué dans les sections suivantes.
Tester le mode accessoire USB pour la version 8.0 et les versions ultérieures
Figure 4. Procédure de test de l'accessoire USB pour la version 8.0 et les versions ultérieures.
Figure 5. Test du mode accessoire USB pour la version 8.0 et les versions ultérieures.
Tester le mode accessoire USB pour la version 7.x et les versions antérieures
Le test de l'accessoire USB nécessite un ordinateur Linux pour exécuter le programme de l'ordinateur de bureau USB (hôte).
- Connectez l'appareil soumis aux tests à l'ordinateur Linux.
Sur l'ordinateur, exécutez le programme
cts-usb-accessoryà partir du package du vérificateur CTS :./cts-usb-accessoryAttendez qu'une boîte de dialogue s'affiche sur l'appareil soumis aux tests, puis appuyez sur OK.
Figure 6. Test de l'accessoire USB
Accédez au test de l'accessoire USB dans l'application du vérificateur CTS sur l'appareil soumis aux tests.
Sur l'ordinateur, examinez la sortie de la console. Exemple de résultat :
CTS USB Accessory Tester Found possible Android device (413c:2106) - attempting to switch to accessory mode... Failed to read protocol versionfigure3 Found Android device in accessory mode (18d1:2d01)... [RECV] Message from Android device #0 [SENT] Message from Android accessory #0 [RECV] Message from Android device #1 [SENT] Message from Android accessory #1 [RECV] Message from Android device #2 [SENT] Message from Android accessory #2 [RECV] Message from Android device #3 [SENT] Message from Android accessory #3 [RECV] Message from Android device #4 [SENT] Message from Android accessory #4 [RECV] Message from Android device #5 [SENT] Message from Android accessory #5 [RECV] Message from Android device #6 [SENT] Message from Android accessory #6 [RECV] Message from Android device #7 [SENT] Message from Android accessory #7 [RECV] Message from Android device #8 [SENT] Message from Android accessory #8 [RECV] Message from Android device #9 [SENT] Message from Android accessory #9 [RECV] Message from Android device #10 [SENT] Message from Android accessory #10
Calibrer le champ de vision de la caméra
Utilisez la procédure de calibration du champ de vision pour déterminer rapidement le champ de vision de l'appareil avec une précision modérée.
Configurez l'environnement de test :
- Imprimez le fichier cible PDF du modèle de calibration sur du papier de format 11 x 17 pouces ou A3.
- Fixez le modèle imprimé sur un support rigide.
Orientez l'appareil photo et la cible imprimée comme indiqué dans le schéma suivant :
Figure 7. Cible imprimée de la caméra.
Définissez la largeur cible :
- Mesurez la distance (en centimètres) entre les lignes pleines du modèle cible pour tenir compte des imprécisions d'impression (~38 cm).
- Démarrez l'application de calibration.
- Appuyez sur le bouton de configuration et sélectionnez Distance du marqueur.
- Mesurez et saisissez la distance par rapport au modèle cible (~100 cm).
- Appuyez sur le bouton retour pour revenir à l'aperçu de la calibration.
Vérifiez que l'appareil et la cible sont placés comme indiqué sur la figure et que les distances correctes ont été saisies dans la boîte de dialogue de configuration. L'aperçu affiche l'image avec une ligne verticale superposée. Cette ligne doit être alignée sur l'axe du modèle cible. La grille transparente peut être utilisée avec les autres lignes verticales pour vérifier que l'axe optique est orthogonal à la cible.
Exécutez le test de calibration :
- Sélectionnez une résolution d'image (à l'aide du sélecteur en bas à gauche), puis appuyez sur l'écran pour prendre une photo. Le test passe en mode calibration et affiche la photo avec deux lignes verticales superposées sur l'image.
- Déterminez la précision :
- Si les lignes sont alignées sur les lignes verticales du modèle cible à quelques centimètres près, le champ de vision indiqué pour la résolution sélectionnée est précis.
- Si les lignes ne sont pas alignées, le champ de vision indiqué est imprécis. Pour corriger ce problème, ajustez le curseur en bas de l'écran jusqu'à ce que la superposition soit alignée le plus précisément possible sur le modèle cible. Lorsque la superposition et l'image du modèle cible sont alignées, le champ de vision affiché est une approximation proche de la valeur correcte. Le champ de vision indiqué doit se situer à moins de 3 degrés de la valeur de calibration.
- Appuyez sur le bouton Retour et répétez le test de calibration pour toutes les résolutions d'image compatibles avec l'appareil soumis aux tests.
Exécuter le vérificateur CTS pour les modes alternatifs
À partir des versions CTS 10 R6 et CTS 11 R2, le vérificateur CTS est compatible avec les tests requis pour les appareils avec des modes alternatifs ou pour les appareils avec plusieurs modes d'écran.
En haut de la vue de liste principale du vérificateur CTS, un bouton permet aux utilisateurs de basculer entre le mode d'affichage déplié et plié. Le vérificateur CTS affiche les tests nécessaires pour le mode d'affichage sélectionné. Pour exécuter les modes alternatifs dans le vérificateur CTS, vous devez basculer le bouton sur le mode d'affichage approprié et exécuter la liste des tests affichés.
Figure 8. Bouton bascule du vérificateur CTS.
Les résultats des tests pliés seront enregistrés dans le même rapport que les tests dépliés. Pour identifier chaque résultat de test à partir duquel l'ensemble de tests provient, un suffixe est ajouté à chaque nom de test en mode plié.
<Test result="fail" name="com.android.cts.verifier.deskclock.DeskClockTestsActivity[folded]">
<RunHistory subtest="CREATE_ALARM[folded]">
<Run start="1594176663973" end="1594176665841" isAutomated="false" />
</RunHistory>
</Test>
Exporter les résultats
Une fois tous les tests terminés, vous pouvez enregistrer les résultats sous forme de rapport et les télécharger sur un ordinateur. Les noms de rapports sont automatiquement horodatés en fonction de l'heure système de l'appareil soumis aux tests.
Pour enregistrer les résultats de vos tests, appuyez sur l'icône d'enregistrement (disque) en haut de la liste des catégories de tests.
Attendez qu'une boîte de dialogue affiche le chemin d'accès au rapport enregistré (par exemple,
/sdcard/verifierReports/ctsVerifierReport-date-time.zip), puis enregistrez le chemin d'accès.Connectez l'appareil soumis aux tests à l'ordinateur Linux.
À partir de l'installation du SDK Android sur l'ordinateur Linux, téléchargez les rapports à partir de l'appareil connecté à l'aide de
adb shell content readouadb pull CTSVerifierReportPath.Pour Android 7.x et versions ultérieures, téléchargez tous les rapports à l'aide de la commande suivante :
adb pull /sdcard/verifierReportsPour Android 6.0 et versions antérieures, téléchargez tous les rapports à l'aide de la commande suivante :
adb pull /mnt/sdcard/ctsVerifierReports/Pour Android 10 et versions ultérieures, en implémentant Automotive et les appareils exécutés en tant qu'utilisateur secondaire, téléchargez le dernier rapport à l'aide de la commande suivante :
adb shell content read --user <var>CURRENT_USER</var> --uri content://com.android.cts.verifier.testresultsprovider/reports/latest > report.zipPour afficher la liste de tous les rapports disponibles sur l'appareil connecté :
adb shell content query --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports ``` To download a report from the list, you can specify the Row ID or filename. For example: ```shell adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports/0 > report.zip ``` ```shell adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports ctsVerifierReport-date-time.zip > report.zip ```
Pour effacer les résultats de réussite ou d'échec, sélectionnez les résultats dans l'application du vérificateur CTS, puis sélectionnez Menu > Effacer.