La modalità Test Harness è una funzionalità aggiunta in Android 10 per gli sviluppatori di app di terze parti che vogliono automatizzare un dispositivo o un parco di dispositivi. La funzionalità 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. In questo modo, l'utente può eseguire un test dell'interfaccia utente immediatamente dopo l'avvio senza alcuna interazione manuale.
Personalizzazione
Puoi determinare se un dispositivo è in modalità di test cablaggio controllando
ActivityManager.isRunningInUserTestHarness()
. Mantieni le personalizzazioni al minimo; limitale ad esempio ad azioni come saltare le schermate di configurazione (sulla tastiera o nella procedura guidata di configurazione) che potrebbero interrompere i test dell'interfaccia utente o richiedere un'interazione manuale.
Implementazione
L'implementazione predefinita di PersistentDataBlockManagerInternal
si trova in PersistentDataBlockService
.
La modalità Test Harness è implementata in TestHarnessModeService
.
L'implementazione predefinita della modalità test Harness utilizza lo stesso meccanismo di archiviazione della protezione ripristino dati di fabbrica per archiviare temporaneamente le chiavi adb in una partizione permanente. Se sul dispositivo di test è già implementata una partizione permanente con la protezione ripristino dei dati di fabbrica, per supportare la funzionalità è necessario poco o nessun intervento.
Gli OEM che non hanno configurato una partizione permanente devono implementare
PersistentDataBlockManagerInternal
prima di eseguire
TestHarnessModeService
.
Controllare lo stato della modalità Test Harness
Quando viene attivata la modalità di test Harness, ActivityManager.isRunningInUserTestHarness()
restituisce true
.
Esegui modalità test Harness
L'attivazione della modalità Test Harness cancella tutti i dati dal dispositivo e lo configura per i test. Ciò significa che tutte le parti del dispositivo che potrebbero interferire con i test (come la sincronizzazione automatica degli account, la verifica del pacchetto e gli aggiornamenti automatici) sono disattivate per impostazione predefinita, ma l'utente può riattivarle.
Esegui il comando adb
per attivare la modalità Test Harness:
adb shell cmd testharness enable