Mulai 27 Maret 2025, sebaiknya gunakan android-latest-release, bukan aosp-main, untuk mem-build dan berkontribusi pada AOSP. Untuk mengetahui informasi selengkapnya, lihat Perubahan pada AOSP.
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Mode Harness Pengujian adalah fitur yang ditambahkan di Android 10 untuk
developer aplikasi pihak ketiga yang ingin
mengotomatiskan perangkat atau sekumpulan perangkat. Fitur ini menyediakan metode untuk menghapus total semua
data pengguna di perangkat Android, mempertahankan kunci ADB, dan melewati semua layar penyiapan pertama kali. Hal ini memungkinkan
pengguna menjalankan pengujian UI segera setelah memulai tanpa interaksi manual.
Penyesuaian
Anda dapat menentukan apakah perangkat berada dalam Mode Test Harness dengan memeriksa
ActivityManager.isRunningInUserTestHarness(). Minimalkan penyesuaian;
batasi pada hal-hal seperti melewati layar penyiapan (di keyboard atau wizard penyiapan) yang akan merusak
pengujian UI atau memerlukan interaksi manual.
Implementasi default Mode Test Harness menggunakan mekanisme penyimpanan yang sama dengan
perlindungan reset pabrik untuk menyimpan kunci adb untuk sementara di partisi persisten. Jika
partisi persisten dengan perlindungan reset ke setelan pabrik sudah diterapkan di perangkat pengujian,
Anda hanya perlu melakukan sedikit pekerjaan atau tidak sama sekali untuk mendukung fitur tersebut.
OEM yang tidak menyiapkan partisi persisten harus mengimplementasikan
PersistentDataBlockManagerInternal sebelum menjalankan
TestHarnessModeService.
Memeriksa status Mode Tes Otomatis
Saat Mode Tes Otomatis diaktifkan,
ActivityManager.isRunningInUserTestHarness() akan menampilkan true.
Menjalankan Mode Test Harness
Mengaktifkan Mode Test Harness akan menghapus total semua data dari perangkat dan menyiapkan perangkat untuk
pengujian. Artinya, semua bagian perangkat yang dapat mengganggu pengujian (seperti
akun sinkronisasi otomatis, verifikasi paket, dan update otomatis) semuanya dinonaktifkan secara default,
tetapi pengguna dapat mengaktifkannya kembali.
Jalankan perintah adb untuk mengaktifkan Mode Tes Otomatis:
adb shell cmd testharness enable
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-27 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 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```"]]