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. Mit dieser Funktion können alle Nutzerdaten auf einem Android-Gerät gelöscht, ADB-Schlüssel beibehalten und alle Bildschirme für die Ersteinrichtung übersprungen werden. 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. Sie sollten beispielsweise keine Einrichtungsbildschirme überspringen (auf der Tastatur oder im Einrichtungsassistenten), da dies UI-Tests beeinträchtigen oder manuelle Interaktionen erfordern würde.
Implementierung
Die Standardimplementierung von PersistentDataBlockManagerInternal
befindet sich in PersistentDataBlockService
.
Der Test-Harnischmodus ist in TestHarnessModeService
implementiert.
Die Standardimplementierung des Test Harness-Modus verwendet denselben Speichermechanismus wie der Schutz vor dem Zurücksetzen auf die Werkseinstellungen, um die ADB-Schlüssel vorübergehend in einer persistenten 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()
den Wert true
zurück.
Test-Harnischmodus ausführen
Wenn Sie den Test-Harnischmodus aktivieren, werden alle Daten auf dem Gerät gelöscht und das Gerät für Tests eingerichtet. 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