Implémentation du mode faisceau de test

Test Harness Mode est une fonctionnalité ajoutée dans Android 10 pour les développeurs d'applications tiers qui souhaitent automatiser un appareil ou une flotte d'appareils. La fonction fournit une méthode pour effacer toutes les données utilisateur sur un appareil Android, conserver les clés de la BAD, et sauter tous les écrans de configuration pour la première fois. Cela permet à l'utilisateur d'exécuter un test d'interface utilisateur immédiatement après le démarrage sans aucune interaction manuelle.

Personnalisation

Vous pouvez déterminer si un appareil est en mode test Harnais en vérifiant ActivityManager.isRunningInUserTestHarness() . Gardez les personnalisations au minimum ; limiter à des choses comme sauter les écrans de configuration (sur le clavier ou l'assistant de configuration) qui interrompraient les tests de l'interface utilisateur ou nécessiteraient une interaction manuelle.

Mise en œuvre

L'implémentation par défaut de PersistentDataBlockManagerInternal est en PersistentDataBlockService . Mode de harnais de test est mis en œuvre TestHarnessModeService .

L'implémentation par défaut du Test Harness Mode utilise le même mécanisme de stockage que la protection contre les réinitialisations d'usine pour stocker temporairement les clés ADB dans une partition persistante. Si une partition persistante avec Factory Reset Protection est déjà implémentée sur le périphérique de test, peu ou pas de travail est nécessaire pour prendre en charge la fonctionnalité.

OEM qui ne disposent pas d' un jeu de partitions persistante jusqu'à besoin de mettre en œuvre PersistentDataBlockManagerInternal avant d' exécuter TestHarnessModeService .

Vérification de l'état du mode test du faisceau

Lorsque le mode test harnais est activé, ActivityManager.isRunningInUserTestHarness() retourne true .

Exécution du mode faisceau de test

L'activation du mode test harnais efface toutes les données de l'appareil et configure l'appareil pour les tests. Cela signifie que toutes les parties de l'appareil qui pourraient interférer avec les tests (telles que les comptes de synchronisation automatique, la vérification des packages et les mises à jour automatiques) sont toutes désactivées par défaut, mais peuvent être réactivées par l'utilisateur.

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

adb shell cmd testharness enable