Menerapkan Mode Test Harness

Test Harness Mode adalah fitur yang ditambahkan di Android 10 untuk pengembang aplikasi pihak ketiga yang ingin mengotomatiskan perangkat atau armada perangkat. Fitur ini menyediakan metode untuk menghapus semua data pengguna di perangkat Android, mempertahankan kunci ADB, dan melewati semua layar pengaturan pertama kali. Hal ini memungkinkan pengguna untuk menjalankan pengujian UI segera setelah startup tanpa interaksi manual apa pun.

Kustomisasi

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

Penerapan

Implementasi default PersistentDataBlockManagerInternal ada di PersistentDataBlockService . Mode Test Harness diimplementasikan di TestHarnessModeService .

Implementasi default Mode Test Harness menggunakan mekanisme penyimpanan yang sama dengan perlindungan reset pabrik untuk menyimpan kunci adb sementara di partisi persisten. Jika partisi persisten dengan perlindungan reset pabrik sudah diterapkan pada perangkat pengujian, sedikit atau tidak ada upaya yang diperlukan untuk mendukung fitur tersebut.

OEM yang tidak memiliki pengaturan partisi persisten perlu mengimplementasikan PersistentDataBlockManagerInternal sebelum menjalankan TestHarnessModeService .

Periksa status Mode Test Harness

Saat Mode Test Harness diaktifkan, ActivityManager.isRunningInUserTestHarness() mengembalikan true .

Jalankan Mode Uji Harness

Mengaktifkan Mode Test Harness akan menghapus semua data dari perangkat dan menyiapkan perangkat untuk pengujian. Artinya, semua bagian perangkat yang dapat mengganggu pengujian (seperti sinkronisasi akun otomatis, verifikasi paket, dan pembaruan otomatis) semuanya dinonaktifkan secara default namun pengguna dapat mengaktifkannya kembali.

Jalankan perintah adb untuk mengaktifkan Test Harness Mode:

adb shell cmd testharness enable