Le vérificateur de la suite de tests de compatibilité (CTS) Android complète la suite de tests de compatibilité (CTS). Alors que le CTS vérifie les API et les fonctions qui peuvent ê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 dont la compatibilité avec l'API Android a été vérifiée par la réussite du CTS. Il s'agit de l'appareil testé.
- Ordinateur Linux avec un port compatible USB 2.0. Toutes les connexions au DUT passent par ce port.
- Un deuxième appareil Android avec une implémentation Bluetooth, Wi-Fi Direct, Wi-Fi Aware, UWB (si le DUT est compatible avec l'UWB) et NFC HCE (émulation de carte hôte) connue et compatible.
- Un routeur Wi-Fi configuré avec un nom et un mot de passe de point d'accès. Le routeur doit pouvoir se déconnecter d'Internet, mais pas être éteint.
Assurez-vous également de préparer les trépieds, les supports d'appareils et les distances prémesurées nécessaires pour les tests de mesure de distance (proximité) pour UWB, Wi-Fi NAN et Bluetooth RSSI. Pour en savoir plus, consultez Calibration de la présence.
Exigences liées à l'UICC pour les tests NFC
CTS Verifier comporte les scénarios de test NFC suivants :
- Champ désactivé (utilise les données de transaction de 0x54)
- Désélectionner (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 être équipé d'une carte 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 (AID) autorisé 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 pousse l'activité correspondante au premier plan.
Configuration
Modifiez le mode de navigation système de l'appareil de test en mode à trois boutons comme suit :
- Ouvrez les paramètres.
- Accédez à Système > Gestes > Navigation système.
- Sélectionnez un mode de navigation à boutons (de préférence à trois boutons), si disponible.
Pour configurer l'environnement de test CTS Verifier :
Sur l'ordinateur Linux :
Exécutez la commande suivante avant d'installer CTS Verifier pour autoriser l'accès aux interfaces non-SDK.
adb shell settings put global hidden_api_policy 1
Installez Android Studio.
Téléchargez l'APK CTS Verifier pour la version d'Android à tester.
Connectez le DUT à l'ordinateur Linux.
Depuis un terminal de l'ordinateur Linux, installez
CtsVerifier.apk
sur l'appareil à tester.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 défini par l'utilisateur sous le répertoire externe de premier niveau 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 CTS Verifier.
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 le DUT.
Exécuter le vérificateur CTS
Lancez l'application CTS Verifier en appuyant sur l'icône CTS Verifier sur l'appareil à tester.
Figure 1 : Icône du vérificateur CTS
L'application affiche plusieurs ensembles de tests disponibles pour la validation manuelle.
Figure 2. Menu des tests CTS Verifier
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
- Réussite (✓) : appuyez sur cette option si l'appareil testé répond aux exigences de test, conformément aux instructions.
- 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 en test ne répond pas aux exigences du test selon les instructions Info.
Certains tests, comme le test du mode accessoire USB et le test de calibration de l'appareil photo, nécessitent une configuration et des instructions supplémentaires, comme indiqué dans les sections suivantes.
Tester le mode accessoire USB pour Android 8.0 et versions ultérieures
Figure 4. Procédure de test des accessoires USB pour la version 8.0 et ultérieures
Figure 5. Tester le mode accessoire USB pour la version 8.0 et les versions ultérieures
Tester le mode accessoire USB pour les versions 7.x et antérieures
Le test des accessoires USB nécessite un ordinateur Linux pour exécuter le programme de l'ordinateur 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 en test, puis sélectionnez OK.
Figure 6. Test d'accessoire USB
Accédez au test d'accessoire USB dans l'application CTS Verifier sur l'appareil à tester.
Sur l'ordinateur, examinez le résultat 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
Étalonner 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 calibration-pattern.pdf sur du papier de format 28 x 43 cm ou A3.
- Fixez le motif imprimé sur un support rigide.
Orientez la caméra et la cible imprimée comme indiqué dans le schéma ci-dessous.
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 motif cible pour tenir compte des imprécisions d'impression (~38 cm).
- Démarrez l'application de calibration.
- Appuyez sur le bouton de configuration, puis sélectionnez Distance du marqueur.
- 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é 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 la ligne centrale 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 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.
- Déterminez la précision :
- Si les lignes s'alignent 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 inexact. Pour corriger ce problème, ajustez le curseur en bas de l'écran jusqu'à ce que la superposition s'aligne le plus possible sur le motif cible. Lorsque la superposition et l'image du motif cible sont alignées, le champ de vision affiché est une approximation proche de la valeur correcte. Le champ de vision indiqué doit être à +/-2 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 prises en charge par l'appareil testé.
Exécuter CTS Verifier pour les modes alternatifs
À partir des versions CTS 10 R6 et CTS 11 R2, CTS Verifier est compatible avec les tests requis pour les appareils dotés de modes alternatifs ou de plusieurs modes d'écran.
En haut de la vue Liste principale de CTS Verifier, un bouton permet aux utilisateurs de basculer entre le mode d'affichage déplié et plié. CTS Verifier affichera les tests nécessaires pour le mode d'affichage sélectionné. Pour exécuter les modes alternatifs dans CTS Verifier, 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 ceux des tests dépliés. Pour identifier chaque résultat de test à partir duquel l'ensemble de tests est issu, 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 horodatés 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 tests.
Attendez qu'un message pop-up affiche le chemin d'accès au rapport enregistré (par exemple,
/sdcard/verifierReports/ctsVerifierReport-date-time.zip
), puis notez le chemin d'accès.Connectez le DUT à l'ordinateur Linux.
À partir de l'installation du SDK Android sur l'ordinateur Linux, téléchargez les rapports de l'appareil connecté à l'aide de
adb shell content read
ouadb 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/verifierReports
Pour 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 fonctionnant 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 lister 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 de 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/échec, sélectionnez-les dans l'application CTS Verifier, puis Menu > Effacer.