A partire dal 27 marzo 2025, ti consigliamo di utilizzare android-latest-release anziché aosp-main per compilare e contribuire ad AOSP. Per ulteriori informazioni, vedi Modifiche ad AOSP.
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
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à Test Harness controllando
ActivityManager.isRunningInUserTestHarness(). Riduci al minimo le personalizzazioni.
Limitati ad esempio a 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.
L'implementazione predefinita della modalità Test Harness utilizza lo stesso meccanismo di archiviazione della protezione da ripristino dei 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 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 lo configura per i test. Ciò significa che tutte le parti del dispositivo che potrebbero interferire con i test (ad esempio account con sincronizzazione automatica, verifica del pacchetto 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
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-07-27 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-07-27 UTC."],[],[],null,["# Implement Test Harness Mode\n\nTest Harness Mode is a feature added in Android 10 for\nthird-party app developers that wish\nto automate a device or a fleet of devices. The feature provides a method to wipe *all*\nuser data on an Android device, retain ADB keys, and skip all first-time setup screens. This enables\nthe user to run a UI test immediately after startup without any manual interaction.\n| **Note:** Test Harness Mode is different from TradeFed Test Harness. Don't use it when running CTS test.\n\nCustomization\n-------------\n\nYou can determine if a device is in Test Harness Mode by checking\n`ActivityManager.isRunningInUserTestHarness()`. Keep customizations to a minimum;\nlimit to things like skipping setup screens (on the keyboard or setup wizard) that would break\nUI tests or require manual interaction.\n\nImplementation\n--------------\n\nThe default implementation of [`PersistentDataBlockManagerInternal`](https://android.googlesource.com/platform/frameworks/base/+/android16-release/services/core/java/com/android/server/pdb/PersistentDataBlockManagerInternal.java)\nis in [`PersistentDataBlockService`](https://android.googlesource.com/platform/frameworks/base/+/android16-release/services/core/java/com/android/server/pdb/PersistentDataBlockService.java).\nTest Harness Mode is implemented in [`TestHarnessModeService`](https://android.googlesource.com/platform/frameworks/base/+/android16-release/services/core/java/com/android/server/testharness/TestHarnessModeService.java).\n\nThe default implementation of Test Harness Mode uses the same storage mechanism as\nfactory reset protection to store the adb keys temporarily in a persistent partition. If a\npersistent partition with factory reset protection is already implemented on the test device,\nlittle to no work is necessary to support the feature.\n\nOEMs that don't have a persistent partition set up need to implement\n`PersistentDataBlockManagerInternal` before running\n`TestHarnessModeService`.\n\nCheck the status of Test Harness Mode\n-------------------------------------\n\nWhen Test Harness Mode is enabled,\n`ActivityManager.isRunningInUserTestHarness()` returns `true`.\n\nRun Test Harness Mode\n---------------------\n\nEnabling Test Harness Mode wipes all data from the device and sets up the device for\ntesting. This means that all parts of the device that could interfere with testing (such as\nauto-syncing accounts, package verification, and automatic updates) are all disabled by default\nbut the user can reenable them.\n\nRun the `adb` command to enable Test Harness Mode: \n\n```\nadb shell cmd testharness enable\n```"]]