Implementare la modalità Test Harness

Test Harness Mode è una funzionalità aggiunta in Android 10 per gli sviluppatori di app di terze parti che desiderano automatizzare un dispositivo o una flotta di dispositivi. La funzione fornisce un metodo per cancellare tutti i dati utente su un dispositivo Android, conservare le chiavi ADB e saltare tutte le schermate di configurazione iniziali. Ciò consente all'utente di eseguire un test dell'interfaccia utente subito dopo l'avvio senza alcuna interazione manuale.

Personalizzazione

Puoi determinare se un dispositivo è in modalità Test Harness controllando ActivityManager.isRunningInUserTestHarness() . Mantieni le personalizzazioni al minimo; limite a cose come saltare le schermate di configurazione (sulla tastiera o sulla configurazione guidata) che interromperebbero i test dell'interfaccia utente o richiederebbero l'interazione manuale.

Implementazione

L'implementazione predefinita di PersistentDataBlockManagerInternal è in PersistentDataBlockService . La modalità Test Harness è implementata in TestHarnessModeService .

L'implementazione predefinita della modalità Test Harness utilizza lo stesso meccanismo di archiviazione della protezione del ripristino delle impostazioni di fabbrica per archiviare temporaneamente le chiavi adb in una partizione permanente. Se una partizione persistente con protezione del ripristino delle impostazioni di fabbrica è già implementata sul dispositivo di test, è necessario poco o nessun lavoro per supportare la funzionalità.

Gli OEM che non dispongono di una partizione permanente configurata devono implementare PersistentDataBlockManagerInternal prima di eseguire TestHarnessModeService .

Controllare lo stato della modalità Test Harness

Quando la modalità Test Harness è abilitata, ActivityManager.isRunningInUserTestHarness() restituisce true .

Eseguire la modalità di test del cablaggio

L'abilitazione della modalità Test Harness cancella tutti i dati dal dispositivo e configura il dispositivo per il test. Ciò significa che tutte le parti del dispositivo che potrebbero interferire con i test (come gli account con sincronizzazione automatica, la verifica dei pacchetti e gli aggiornamenti automatici) sono tutte disabilitate per impostazione predefinita, ma l'utente può riabilitarle.

Eseguire il comando adb per abilitare la modalità Test Harness:

adb shell cmd testharness enable