Test-Harnischmodus implementieren

Der Test-Harnischmodus ist eine Funktion, die in Android 10 für Entwickler von Drittanbieter-Apps, um ein Gerät oder einen Gerätepool zu automatisieren. Die Funktion bietet eine Methode zum Löschen aller Nutzerdaten auf einem Android-Gerät speichern, ADB-Schlüssel beibehalten und alle Bildschirme für die Ersteinrichtung überspringen. Dies ermöglicht Der Benutzer kann sofort nach dem Start einen UI-Test ohne manuelle Interaktion durchführen.

Personalisierung

Du kannst feststellen, ob sich ein Gerät im Test-Harnischmodus befindet, indem du ActivityManager.isRunningInUserTestHarness() Beschränken Sie Anpassungen auf ein Minimum. nicht auf Dinge wie das Überspringen von Einrichtungsbildschirmen (auf der Tastatur oder im Einrichtungsassistenten) beschränkt werden, UI-Tests durchführen oder eine manuelle Interaktion erfordern.

Implementierung

Die Standardimplementierung von PersistentDataBlockManagerInternal ist in PersistentDataBlockService. Der Test-Harnischmodus ist in TestHarnessModeService implementiert.

Die Standardimplementierung des Test-Harnessmodus verwendet denselben Speichermechanismus wie Schutz für zurückgesetzte Geräte, um die ADB-Schlüssel vorübergehend in einer nichtflüchtigen Partition zu speichern. Wenn ein dass eine persistente Partition mit Schutz vor Zurücksetzen auf die Werkseinstellungen auf dem Testgerät dass für die Funktion wenig bis gar keine Arbeit erforderlich ist.

OEMs, die keine persistente Partition eingerichtet haben, müssen PersistentDataBlockManagerInternal vor dem Laufen TestHarnessModeService.

Status des Test-Harnischmodus prüfen

Wenn der Test-Harnischmodus aktiviert ist, ActivityManager.isRunningInUserTestHarness() gibt true zurück.

Test-Harnischmodus ausführen

Durch das Aktivieren des Test-Harnessmodus werden alle Daten vom Gerät gelöscht und das Gerät wird eingerichtet für Tests durchführen. Das bedeutet, dass alle Teile des Geräts, die die Tests beeinträchtigen könnten, wie z. B. automatische Synchronisierung von Konten, Paketüberprüfung und automatische Updates) standardmäßig deaktiviert sind. aber der Nutzer kann sie wieder aktivieren.

Führen Sie den Befehl adb aus, um den Test-Harnischmodus zu aktivieren:

adb shell cmd testharness enable