·Qu'est-ce que CTS ?
Le nom complet de CTS est l'outil de test de compatibilité Compatibility Test Suite. Afin de garantir que les applications développées fonctionnent normalement sur tous les appareils compatibles Android et d'assurer une expérience utilisateur cohérente, Google a développé CTS pour garantir que le système Android exécuté sur l'appareil est entièrement compatible avec Android. Spécification, Google fournit également un document standard de compatibilité (Compatibility Definition Document, CDD). Lorsque des produits électroniques sont développés et que leur propre système Android est personnalisé, ils doivent réussir le dernier test CTS pour garantir que les applications Android standard peuvent s'exécuter sur la plate-forme. Après avoir réussi la vérification CTS, le rapport de test doit être soumis à Google pour obtenir la certification Android Market. CTS est un outil exploité via la ligne de commande. Actuellement, CTS ne propose pas de version Windows et ne peut être testé que sous Linux.
·Adresse de téléchargement de l'outil CTS
Adresse de téléchargement de l'outil pour différentes versions d'Android :
https://source.android.google.cn/docs/compatibility/cts/downloads?hl=zh-cn
Si vous souhaitez effectuer des tests de résistance multimédia, après avoir téléchargé le fichier multimédia CTS, exécutez ce qui suit dans la commande du terminal pour copier les fichiers multimédias sur l'appareil.
./copy_images.sh
./copy_media.sh
·Comment tester CTS
①Configurer l'équipement
连接 WiFi(有的测试需要v6网络)
Display->Sleep->30min(设置休眠时间为30分钟)
Security & location->Screen lock->None(设置屏幕锁为无)
System->About phone->Build number(打开开发者模式)
进入开发者模式,打开Stay awake,打开USB调试
开启location
语言设置为English-US(必须是英文,其他语言不行)
设置完成,回到主页,清空后台应用
②Utilisez l'outil de test
pour l'exécuter dans le terminal sous le chemin /android-cts-10_r15-linux_x86-arm/android-cts/tools (notez que le chemin où se trouve l'outil de test ne peut pas contenir de caractères chinois !!!) : paquet entier test (
la comparaison du temps de test est longue, prend environ quatre jours) :
run cts
Test par module :
run cts -m module名
Test de cas unique :
run cts -m module名 -t case名
·Comment afficher les résultats CTS
① Vous pouvez afficher les résultats des tests sur le terminal de test
② Utilisez un navigateur pour ouvrir /android-cts-10_r15-linux_x86-arm/android-cts/results/2023.04.26_15.55.26/test_result.html
parmi qui /2023.04.26_15 .55.26/ est l'heure de chaque test. Vous pouvez ouvrir un certain résultat de test en fonction de l'heure du test.
·Comment afficher le journal de test
ouvert /android-cts-10_r15-linux_x86-arm/android-cts/logs/2023.04.26_14.26.07/inv_6131858263139540011/De même
, /2023.04.26_15.55.26/ est l'heure de chaque test, selon aux résultats des tests d'une certaine heure peuvent être ouverts au moment du test
· Compétences en modification CTS
① Utilisez d'abord l'appareil pour tester à nouveau. S'il y a des erreurs, vous pouvez utiliser la dernière version pour tester et réussir
② Recherchez le contenu du test de ce cas dans le code du projet en fonction du nom du cas.
Exemple : Test commande : exécutez cts -m CtsWindowManagerDeviceTestCases -t android.server.wm.PinnedStackTests#testPinnedStackWithDockedStack
Recherchez ensuite testPinnedStackWithDockedStack (dans la classe PinnedStackTests) dans le code du projet.
Remarque : étant donné que les outils officiels de Google sont utilisés, le code CTS dans le local Le projet sera différent. Seulement à titre de référence, le nombre de lignes d'erreur ne peut pas être exactement le même.
③En raison des problèmes ci-dessus, que dois-je faire si je souhaite ajouter des journaux pour afficher des informations afin de faciliter la modification pendant le processus de modification ?
Vous pouvez ajouter des journaux au code CTS local, compiler l'apk correspondant selon LOCAL_PACKAGE_NAME dans mk et utiliser la commande suivante pour installer l'apk sur l'appareil :
adb install -r -t .apk
Écrivez la commande de test : adb shell am instrument -e nom du scénario de test de classe -w testé nom du package CTS/androidx.test.runner.AndroidJUnitRunner
adb shell am instrument -e class android.server.wm.PinnedStackTests#testPinnedStackWithDockedStack -w android.server.wm.cts/androidx.test.runner.AndroidJUnitRunner
Certains modules de test peuvent être liés ou certains modules de test sont compilés dans des packages jar. L'utilisation de la commande ci-dessus ne fonctionnera pas :
compilez le package apk ou jar correspondant selon LOCAL_PACKAGE_NAME dans mk, et remplacez-le directement par /android -cts-10_r15-linux_x86. -arm/android-cts/testcases/ path, ce qui
équivaut à modifier directement le scénario de test de l'outil de test de Google, puis à le normaliser dans /android-cts-10_r15-linux_x86-arm/android-cts/tools Test dans le Le terminal sous le chemin affichera le journal.
·Réflexion sur la modification CTS
①CTS teste la compatibilité, pas les bugs.
② Vous ne pouvez pas modifier les bogues comme d'habitude, localiser directement l'emplacement du code d'erreur et le modifier en fonction du message d'erreur.
L'erreur générée par le test CTS se trouve sous le code CTS. Vous ne pouvez pas modifier le code CTS (c'est là la difficulté). Au lieu de cela, vous pouvez réfléchir si le problème de votre propre projet est contraire aux spécifications de Google en fonction du contenu du test.
③La plupart des erreurs sont causées par des exigences spéciales personnalisées qui violent les spécifications de Google.