Mit Geräten in TF arbeiten

Trade Federation verwendet eine Abstraktion namens ITestDevice, um Tests auszuführen. Diese Abstraktion objektiviert das Android-Gerät mit dem geringsten gemeinsamen Nenner:

  • Es hat eine Seriennummer.
  • Es hat einen Status: „Online“, „Verfügbar“, „Wiederherstellung“ oder „Nicht verfügbar“.
  • Es gibt eine gewisse Vorstellung von Zuverlässigkeit. Wenn wir beispielsweise einen Befehl ausführen, können wir unterscheiden, ob der Befehl noch nicht abgeschlossen ist, das Gerät keine ausgeführten Befehle unterstützt oder das Gerät während der Ausführung des Befehls nicht mehr reagiert.

Geräteklassen

Die drei Hauptimplementierungen von ITestDevice stehen für drei gängige Anwendungsfälle.

Physisches Gerät

Dies ist eine physische Hardware, die entweder über USB oder mithilfe der TCP-Funktion von adb mit dem TF-Hostcomputer verbunden ist. Die Klasse TestDevice befindet sich über der ddmlib-Bibliothek, einer Java-Schnittstelle zu adb. Daher kann jedes in adb devices aufgeführte physische Gerät instanziiert und als TestDevice verwendet werden.

Emulator

Emulatoren werden von TF speziell behandelt, da sie in einem anderen Prozess ausgeführt werden. Wenn Sie mit einem Emulator interagieren möchten, geben Sie das Argument --emulator für den Befehl an. Weitere Informationen finden Sie unter LocalSdkBuildProvider und SdkAvdPreparer.

Kein Gerät

Angenommen, Sie haben einen Test, der überhaupt nicht mit einem Gerät interagiert. So kann er beispielsweise eine Datei von einem Dienst herunterladen und prüfen, ob die Datei selbst gültig ist. Das NullDevice ist ein ITestDevice, das nur ein Stub ist. Es hat eine Seriennummer wie null-device-N und die meisten versuchten Vorgänge werden entweder ohne Fehlermeldung ausgeführt oder es wird eine Fehlermeldung ausgegeben.