Le mode Test Harness est une fonctionnalité ajoutée dans Android 10 pour les développeurs d'applications tierces qui souhaitent automatiser un appareil ou un parc d'appareils. Cette fonctionnalité permet d'effacer toutes les données utilisateur d'un appareil Android, de conserver les clés ADB et d'ignorer tous les écrans de configuration initiale. Cela permet à l'utilisateur d'exécuter un test d'interface utilisateur immédiatement après le démarrage, sans aucune interaction manuelle.
Personnalisation
Pour déterminer si un appareil est en mode Atelier de test, vérifiez ActivityManager.isRunningInUserTestHarness()
. Limitez les personnalisations au minimum. Par exemple, ne faites que passer les écrans de configuration (sur le clavier ou dans l'assistant de configuration) qui pourraient interrompre les tests d'UI ou nécessiter une interaction manuelle.
Implémentation
L'implémentation par défaut de PersistentDataBlockManagerInternal
se trouve dans PersistentDataBlockService
.
Le mode Atelier de test est implémenté dans TestHarnessModeService
.
L'implémentation par défaut du mode Test Harness utilise le même mécanisme de stockage que la protection contre le rétablissement de la configuration d'usine pour stocker temporairement les clés adb dans une partition persistante. Si une partition persistante avec protection après rétablissement de la configuration d'usine est déjà implémentée sur l'appareil de test, peu ou pas de travail est nécessaire pour prendre en charge la fonctionnalité.
Les OEM qui n'ont pas configuré de partition persistante doivent implémenter PersistentDataBlockManagerInternal
avant d'exécuter TestHarnessModeService
.
Vérifier l'état du mode Atelier de test
Lorsque le mode Atelier de test est activé, ActivityManager.isRunningInUserTestHarness()
renvoie true
.
Exécuter le mode Atelier de test
L'activation du mode Test Harness efface toutes les données de l'appareil et le configure pour les tests. Cela signifie que toutes les parties de l'appareil susceptibles d'interférer avec les tests (comme les comptes à synchronisation automatique, la validation des packages et les mises à jour automatiques) sont désactivées par défaut, mais que l'utilisateur peut les réactiver.
Exécutez la commande adb
pour activer le mode Atelier de test :
adb shell cmd testharness enable