Implementare la modalità test harness

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 dati utente su un dispositivo Android, conservano le chiavi ADB e salta 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(). Riduci al minimo le personalizzazioni. limitare il rischio di saltare schermate di configurazione (sulla tastiera o sulla configurazione guidata) che potrebbero non funzionare Test dell'interfaccia utente o richiesta di interazione manuale.

Implementazione

L'implementazione predefinita di PersistentDataBlockManagerInternal si trova in PersistentDataBlockService. La modalità di 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 una partizione permanente con protezione ripristino dati di fabbrica è già implementata sul dispositivo di test. il cui supporto richiede poco o nessun lavoro.

Gli OEM che non hanno configurato una partizione permanente devono implementare PersistentDataBlockManagerInternal prima di eseguire TestHarnessModeService.

Controllare lo stato della modalità Test Harness

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

Eseguire la modalità test harness

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

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

adb shell cmd testharness enable