Test Harness Mode, bir cihazı veya bir cihaz filosunu otomatikleştirmek isteyen üçüncü taraf uygulama geliştiricileri için Android 10'a eklenen bir özelliktir. Bu özellik, bir Android cihazdaki tüm kullanıcı verilerini silmek, ADB anahtarlarını tutmak ve tüm ilk kurulum ekranlarını atlamak için bir yöntem sağlar. Bu, kullanıcının herhangi bir manuel etkileşim olmadan başlatmadan hemen sonra bir UI testi çalıştırmasını sağlar.
özelleştirme
ActivityManager.isRunningInUserTestHarness()
öğesini kontrol ederek bir cihazın Test Harness Modunda olup olmadığını belirleyebilirsiniz. Özelleştirmeleri minimumda tutun; UI testlerini bozacak veya manuel etkileşim gerektirecek kurulum ekranlarını (klavyede veya kurulum sihirbazında) atlama gibi şeylerle sınırlayın.
uygulama
PersistentDataBlockManagerInternal'ın varsayılan uygulaması PersistentDataBlockManagerInternal
PersistentDataBlockService
. Test Harness Mode, TestHarnessModeService
içinde uygulanır.
Test Harness Mode'un varsayılan uygulaması, ADB anahtarlarını kalıcı bir bölümde geçici olarak depolamak için Factory Reset Protection ile aynı depolama mekanizmasını kullanır. Test cihazında Fabrika Ayarlarına Sıfırlama Korumasına sahip kalıcı bir bölüm zaten uygulanmışsa, özelliği desteklemek için çok az veya hiç çalışma gerekmez.
Kalıcı bölüm kurulumuna sahip olmayan OEM'lerin, TestHarnessModeService
çalıştırmadan önce PersistentDataBlockManagerInternal
uygulamasını uygulaması gerekir.
Test Harness Modunun durumunu kontrol etme
Test Harness Mode etkinleştirildiğinde, ActivityManager.isRunningInUserTestHarness()
true
değerini döndürür.
Test Koşum Modunun Çalıştırılması
Test Harness Mode'un etkinleştirilmesi, cihazdaki tüm verileri siler ve cihazı test için ayarlar. Bu, cihazın teste müdahale edebilecek tüm parçalarının (hesapları otomatik eşitleme, paket doğrulama ve otomatik güncellemeler gibi) tümünün varsayılan olarak devre dışı bırakıldığı, ancak kullanıcı tarafından yeniden etkinleştirilebileceği anlamına gelir.
Test Harness Modunu etkinleştirmek için adb
komutunu çalıştırın:
adb shell cmd testharness enable