Der Test Harness-Modus ist eine Funktion, die in Android 10 für Drittanbieter-App-Entwickler eingeführt wurde, die ein Gerät oder eine Geräteflotte automatisieren möchten. Mit dieser Funktion können alle Nutzerdaten auf einem Android-Gerät gelöscht werden, ohne dass ADB-Schlüssel entfernt werden. Außerdem werden alle Einrichtungsbildschirme übersprungen. So kann der Nutzer einen UI-Test direkt nach dem Start ohne manuelle Interaktion ausführen.
Personalisierung
Ob sich ein Gerät im Test-Harnischmodus befindet, können Sie anhand von ActivityManager.isRunningInUserTestHarness()
feststellen. Halten Sie Anpassungen auf ein Minimum beschränkt. Beschränken Sie sie auf Dinge wie das Überspringen von Einrichtungsbildschirmen (auf der Tastatur oder im Einrichtungsassistenten), die UI-Tests unterbrechen oder manuelle Interaktion erfordern.
Implementierung
Die Standardimplementierung von PersistentDataBlockManagerInternal
befindet sich in PersistentDataBlockService
.
Der Test-Harnischmodus ist in TestHarnessModeService
implementiert.
Bei der Standardimplementierung des Test Harness-Modus wird derselbe Speichermechanismus wie beim Schutz vor dem Zurücksetzen auf die Werkseinstellungen verwendet, um die ADB-Schlüssel vorübergehend in einer persistenten Partition zu speichern. Wenn auf dem Testgerät bereits eine persistente Partition mit Schutz für zurückgesetzte Geräte implementiert ist, ist nur wenig oder gar kein Aufwand erforderlich, um die Funktion zu unterstützen.
OEMs, die keine persistente Partition eingerichtet haben, müssen PersistentDataBlockManagerInternal
implementieren, bevor sie TestHarnessModeService
ausführen.
Status des Test-Harnischmodus prüfen
Wenn der Test-Harnischmodus aktiviert ist, gibt ActivityManager.isRunningInUserTestHarness()
den Wert true
zurück.
Test-Harnischmodus ausführen
Wenn Sie den Test-Harnischmodus aktivieren, werden alle Daten vom Gerät gelöscht und das Gerät wird für Tests eingerichtet. Das bedeutet, dass alle Teile des Geräts, die die Tests beeinträchtigen könnten (z. B. die automatische Synchronisierung von Konten, die Paketüberprüfung und automatische Updates), standardmäßig deaktiviert sind. Der Nutzer kann sie jedoch wieder aktivieren.
Führen Sie den Befehl adb
aus, um den Test-Harnischmodus zu aktivieren:
adb shell cmd testharness enable