Der Test-Harness-Modus ist eine Funktion, die in Android 10 für App-Entwickler von Drittanbietern hinzugefügt wurde, die ein Gerät oder eine Geräteflotte automatisieren möchten. 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. So kann der Nutzer direkt nach dem Start einen UI-Test ausführen, ohne manuell eingreifen zu müssen.
Personalisierung
Ob sich ein Gerät im Test-Harnischmodus befindet, kannst du anhand von ActivityManager.isRunningInUserTestHarness()
feststellen. 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 auf dem Testgerät bereits eine persistente Partition mit Schutz vor dem Zurücksetzen auf die Werkseinstellungen implementiert ist, sind nur wenige oder gar keine Maßnahmen zur Unterstützung der Funktion erforderlich.
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()
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, standardmäßig deaktiviert sind, z. B. die automatische Synchronisierung von Konten, die Paketüberprüfung und automatische Updates. 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