Test Harness Modunun Uygulanması

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. Özelliği, bir robot cihaz Tüm kullanıcı verilerini silin AKB anahtarları ve bununla ilgili tüm ilk kurulum ekranları 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

Bir aygıt kontrol ederek Testi Harness Modundaysa olmadığını belirleyebilirsiniz ActivityManager.isRunningInUserTestHarness() . Ö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

Varsayılan uygulaması PersistentDataBlockManagerInternal içindedir PersistentDataBlockService . Testi Harness Modu uygulanan TestHarnessModeService .

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.

İhtiyacı kadar kalıcı bölüm kümesi yok OEM uygulamaya PersistentDataBlockManagerInternal çalıştırmadan önce TestHarnessModeService .

Test Harness Modunun durumunu kontrol etme

Testi Harness Modu etkinleştirildiğinde, ActivityManager.isRunningInUserTestHarness() döndürür true .

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.

Run adb Testi Harness Modu'nu etkinleştirmek için komutu:

adb shell cmd testharness enable