L'outil de vérification de la suite de tests de compatibilité Android (CTS Verifier) complète la suite de tests de compatibilité (CTS). Alors que CTS vérifie les API et les fonctions pouvant être automatisées, CTS Verifier fournit des tests pour les API et les fonctions qui ne peuvent pas être testées sur un appareil fixe sans saisie ni positionnement manuels, comme la qualité audio, l'écran tactile, l'accéléromètre et l'appareil photo.
Conditions requises
Avant d'exécuter CTS Verifier, assurez-vous de disposer de l'équipement suivant:
- Appareil Android qui a vérifié la compatibilité de l'API Android en passant avec succès la CTS. Il s'agit de l'appareil testé.
- Ordinateur Linux avec port compatible USB 2.0 Toutes les connexions au DUT passent par ce port.
- Deuxième appareil Android avec une implémentation compatible Bluetooth, Wi-Fi Direct, Wi-Fi Aware, UWB (si l'appareil testé est compatible avec la UWB) et l'émulation de carte hôte NFC (HCE).
- Un routeur Wi-Fi configuré avec le nom et le mot de passe du point d'accès. Le routeur doit pouvoir se déconnecter d'Internet, mais pas être éteint.
Veillez également à préparer les trépieds, les supports de l'appareil et les distances pré-mesurées requises pour les tests de mesure de distance (proximité) pour les tests UWB, Wi-Fi NAN et Bluetooth RSSI. Pour en savoir plus, consultez Étalonnage de présence.
Exigences UICC pour les tests NFC
L'outil de vérification CTS propose les scénarios de test NFC suivants:
- Field-off (utilise les données de transaction à partir de 0x54)
- Désélectionner (utilise les données de transaction à partir de 0x52)
- Commande HCI (0025000000) (utilise les données de transaction à partir de 0x02)
Les tests d'événements de transaction nécessitent deux appareils, dont l'un doit disposer d'un UICC SecureElement avec les règles d'accès suivantes:
- Hache 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ée (AID) pour l'accès aux événements NFC: 0xA000000476416E64726F696443545341
Côté émulateur, nous nous attendons à ce que l'événement de transaction mette l'activité correspondante au premier plan.
Configuration
Définissez le mode de navigation système de l'appareil de test sur le mode à trois boutons comme suit:
- Ouvrez les paramètres.
- Accédez à Système > Gestes > Navigation système.
- Sélectionnez un mode de navigation basé sur des boutons, de préférence le mode à trois boutons, le cas échéant.
Pour configurer l'environnement de test du vérificateur CTS:
Sur l'ordinateur Linux:
Exécutez la commande suivante avant d'installer le vérificateur CTS pour autoriser l'accès aux interfaces autres que le SDK.
adb shell settings put global hidden_api_policy 1
Installez Android Studio.
Téléchargez l'APK du vérificateur CTS pour la version d'Android à tester.
Connectez le DUT à l'ordinateur Linux.
Dans un terminal de l'ordinateur Linux, installez
CtsVerifier.apk
sur l'appareil sous test.adb install -r -g CtsVerifier.apk
Pour 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 allow
Pour Android 11 et versions ultérieures, exécutez la commande suivante pour autoriser l'enregistrement des rapports dans un répertoire autodéfini sous le répertoire racine externe de l'appareil.
adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0
Pour 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.verifier
Pour 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 0
Assurez-vous que la date et l'heure du système sont correctement définies sur l'appareil de test.
Exécuter le vérificateur CTS
Lancez l'application CTS Verifier en appuyant sur l'icône CTS Verifier.
Figure 1 : Icône du vérificateur CTS
L'application affiche plusieurs ensembles de test disponibles pour une vérification 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 les éléments de test courants mis en évidence
- Pass (✓) : appuyez sur cette option si l'appareil testé répond aux exigences de test conformément aux instructions d'informations.
- Infos (?) : appuyez pour afficher les instructions du test. S'affiche également automatiquement la première fois qu'un test est ouvert.
- Échec (!). Appuyez sur cette option si l'appareil testé ne répond pas aux exigences du test, conformément aux instructions d'informations.
Certains tests, tels que le mode accessoire USB et le test de calibrage de l'appareil photo, nécessitent une configuration et des instructions de test supplémentaires, comme indiqué dans les sections suivantes.
Tester le mode accessoire USB pour Android 8.0 ou version ultérieure
Figure 4. Procédure de test des accessoires USB pour la version 8.0 et versions ultérieures
Figure 5. Tester le mode accessoire USB pour Android 8.0 et versions ultérieures
Tester le mode accessoire USB pour 7.x et versions antérieures
Le test de l'accessoire USB nécessite un ordinateur Linux pour exécuter le programme de la machine de bureau USB (hôte).
- Connectez le DUT à l'ordinateur Linux.
Sur l'ordinateur, exécutez le programme
cts-usb-accessory
à partir du package CTS Verifier:./cts-usb-accessory
Attendez qu'un message pop-up s'affiche sur l'appareil testé, puis sélectionnez OK.
Figure 6. Test de l'accessoire USB
Accédez au test de l'accessoire USB dans l'application CTS Verifier sur l'appareil testé.
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 calibrage 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 calibration-pattern.pdf sur du papier au format A3 ou 11 x 17 pouces.
- Fixez le motif imprimé sur un support rigide.
Orientez l'appareil photo et la cible imprimée comme indiqué dans le schéma suivant.
Figure 7. Cible d'impression de la caméra
Définissez la largeur cible:
- Mesurez la distance (en centimètres) entre les lignes continues sur le motif de la cible pour tenir compte des imprécisions d'impression (environ 38 cm).
- Lancez l'application de calibrage.
- Appuyez sur le bouton de configuration, puis sélectionnez Distance du repère.
- Mesurez et saisissez la distance jusqu'au motif cible (environ 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é dans 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 s'aligner sur la ligne médiane du motif cible. La grille transparente peut être utilisée avec les autres lignes verticales pour s'assurer que l'axe optique est orthogonal à la cible.
Exécutez le test d'étalonnage:
- 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 calibrage et affiche la photo avec deux lignes verticales superposées à l'image.
- Déterminez la précision :
- Si les lignes s'alignent sur les lignes verticales du motif 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 inexact. Pour corriger ce problème, ajustez le curseur en bas de l'écran jusqu'à ce que la superposition s'aligne le plus près possible du 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 être compris entre +/- 2 degrés de la valeur de calibrage.
- Appuyez sur le bouton "Retour" et répétez le test de calibrage pour toutes les résolutions d'image compatibles avec l'appareil testé.
Exécuter le vérificateur CTS pour d'autres modes
À partir des versions CTS 10 R6 et CTS 11 R2, CTS Verifier prend en charge les tests requis pour les appareils dotés de modes alternatifs ou avec plusieurs modes d'écran.
En haut de la vue de liste principale de CTS Verifier, un bouton permet aux utilisateurs de basculer entre les modes d'affichage déplié et plié. CTS Verifier affiche les tests nécessaires pour le mode d'affichage sélectionné. Pour exécuter les autres modes dans CTS Verifier, il est recommandé de basculer le bouton sur le mode d'affichage approprié et d'exécuter la liste des tests affichée.
Les résultats des tests pliés seront enregistrés dans le même rapport que les tests non pliés. Pour identifier chaque résultat de test dont provient l'ensemble de test, 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 des rapports sont automatiquement mis en code temporel en fonction de l'heure système du DUT.
Pour enregistrer les résultats de vos tests, appuyez sur l'icône Enregistrer (disque) en haut de la liste des catégories de test.
Attendez qu'un message pop-up s'affiche et affiche le chemin d'accès au rapport enregistré (par exemple,
/sdcard/verifierReports/ctsVerifierReport-date-time.zip
), puis enregistrez le chemin.Connectez le DUT à l'ordinateur Linux.
Depuis 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 read
ouadb pull CTSVerifierReportPath
.Pour Android 7.x ou version ultérieure, téléchargez tous les rapports à l'aide de la commande suivante:
adb pull /sdcard/verifierReports
Pour Android 6.0 ou version antérieure, téléchargez tous les rapports à l'aide de la commande suivante:
adb pull /mnt/sdcard/ctsVerifierReports/
Pour Android 10 et versions ultérieures, l'implémentation d'Automotive et des 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 CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports/latest > report.zip
Pour afficher tous les rapports disponibles sur l'appareil connecté:
adb shell content query --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports
Pour télécharger un rapport à partir de la liste, vous pouvez spécifier l'ID de ligne ou le nom du fichier. Exemple :
adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports/0 > report.zip 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 CTS Verifier, puis sélectionnez Menu > Clear (Effacer).