Implementare la modalità Test Harness

La modalità Test Harness è 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 iniziale. Ciò consente all'utente di eseguire un test dell'interfaccia utente immediatamente 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 procedura guidata di configurazione) che potrebbero interrompere i test dell'interfaccia utente o richiedere 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 persistente. Se sul dispositivo di test è già implementata una partizione persistente con protezione dal ripristino delle impostazioni di fabbrica, è necessario poco o nessun lavoro per supportare la funzionalità.

Gli OEM che non dispongono di una partizione permanente impostata 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à cablaggio di prova

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 la sincronizzazione automatica degli account, la verifica dei pacchetti e gli aggiornamenti automatici) sono tutte disabilitate per impostazione predefinita ma l'utente può riattivarle.

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

adb shell cmd testharness enable