Implémenter le mode Harness de test

Le mode Atelier de test est une fonctionnalité ajoutée dans Android 10 pour les développeurs d'applications tierces qui souhaitent pour automatiser un appareil ou un parc d'appareils. Cette fonctionnalité permet d'effacer toutes les données. les données utilisateur sur un appareil Android, conserver les clés ADB et 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, cochez ActivityManager.isRunningInUserTestHarness() Limitez le nombre de personnalisations. limiter l'utilisation d'écrans de configuration (sur le clavier ou dans l'assistant de configuration, par exemple) qui entraîneraient un dysfonctionnement les tests de l'interface utilisateur ou qui nécessitent 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 Atelier de test utilise le même mécanisme de stockage que protection après rétablissement de la configuration d'usine pour stocker temporairement les clés adb dans une partition persistante. Si un 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 d'efforts sont nécessaires pour prendre en charge cette fonctionnalité.

Les OEM qui n'ont pas de partition persistante doivent implémenter PersistentDataBlockManagerInternal avant l'exécution 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 Atelier test efface toutes les données de l'appareil et le configure pour tests. Cela signifie que toutes les pièces de l'appareil qui pourraient interférer avec les tests (comme (synchronisation automatique des comptes, validation des packages et mises à jour automatiques) sont tous désactivés par défaut. mais l'utilisateur peut les réactiver.

Exécutez la commande adb pour activer le mode Atelier de test:

adb shell cmd testharness enable