Mengimplementasikan Mode Harness Pengujian

Mode Test Harness 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 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 startup tanpa interaksi manual apa pun.

Penyesuaian

Anda dapat menentukan apakah perangkat berada dalam Mode Test Harness dengan memeriksa ActivityManager.isRunningInUserTestHarness(). Pertahankan penyesuaian seminimal mungkin; batasi pada hal-hal seperti melewati layar penyiapan (di keyboard atau wizard penyiapan) yang akan merusak pengujian UI atau memerlukan interaksi manual.

Implementasi

Implementasi default PersistentDataBlockManagerInternal ada di PersistentDataBlockService. Mode Tes Otomatis diterapkan di TestHarnessModeService.

Implementasi default Mode Test Harness menggunakan mekanisme penyimpanan yang sama dengan perlindungan reset ke setelan pabrik untuk menyimpan kunci adb sementara di partisi persisten. Jika partisi persisten dengan perlindungan reset ke setelan pabrik sudah diterapkan di perangkat pengujian, Anda tidak perlu melakukan banyak tindakan untuk mendukung fitur ini.

OEM yang tidak menyiapkan partisi persisten perlu menerapkan PersistentDataBlockManagerInternal sebelum menjalankan TestHarnessModeService.

Memeriksa status Mode Tes Otomatis

Jika Mode Tes Otomatis diaktifkan, ActivityManager.isRunningInUserTestHarness() akan menampilkan true.

Menjalankan Mode Tes Otomatis

Mengaktifkan Mode Test Harness akan menghapus 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) dinonaktifkan secara default tetapi pengguna dapat mengaktifkannya kembali.

Jalankan perintah adb untuk mengaktifkan Mode Tes Otomatis:

adb shell cmd testharness enable