Menerapkan Mode Uji 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 penyiapan pertama kali. Hal ini memungkinkan pengguna untuk menjalankan tes UI segera setelah startup tanpa interaksi manual.

Kustomisasi

Anda dapat menentukan apakah perangkat berada dalam Mode Test Harness dengan memeriksa ActivityManager.isRunningInUserTestHarness() . Pertahankan penyesuaian seminimal mungkin; membatasi 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 . Test Harness Mode diimplementasikan di TestHarnessModeService .

Implementasi default Test Harness Mode menggunakan mekanisme penyimpanan yang sama seperti Factory Reset Protection untuk menyimpan kunci ADB sementara di partisi persisten. Jika partisi persisten dengan Perlindungan Penyetelan Ulang Pabrik sudah diterapkan pada perangkat uji, sedikit atau tidak ada pekerjaan yang diperlukan untuk mendukung fitur tersebut.

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

Memeriksa status Mode Uji Harness

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

Menjalankan Mode Uji Harness

Mengaktifkan Mode Test Harness akan menghapus semua data dari perangkat dan menyiapkan perangkat untuk pengujian. Ini berarti bahwa semua bagian perangkat yang dapat mengganggu pengujian (seperti sinkronisasi akun otomatis, verifikasi paket, dan pembaruan otomatis) semuanya dinonaktifkan secara default tetapi dapat diaktifkan kembali oleh pengguna.

Jalankan perintah adb untuk mengaktifkan Test Harness Mode:

adb shell cmd testharness enable