La modalità Test Harness è una funzionalità aggiunta in Android 10 per gli sviluppatori di app di terze parti che vogliono automatizzare un dispositivo o una flotta 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à test harness controllando
ActivityManager.isRunningInUserTestHarness()
. Mantieni le personalizzazioni al minimo;
limitati a elementi come saltare le schermate di configurazione (sulla tastiera o nella procedura guidata di configurazione) che interromperebbero
i test dell'interfaccia utente o richiederebbero 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 persistente. Se sul dispositivo di test è già implementata una partizione persistente con la protezione ripristino dati di fabbrica, è necessario un lavoro minimo o nullo per supportare la funzionalità.
Gli OEM che non hanno configurato una partizione persistente devono implementare
PersistentDataBlockManagerInternal
prima di eseguire
TestHarnessModeService
.
Controllare lo stato della modalità test harness
Quando la modalità test harness è attivata,
ActivityManager.isRunningInUserTestHarness()
restituisce true
.
Esegui la 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 (ad esempio sincronizzazione automatica degli account, verifica dei pacchetti e 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