Pracuj z urządzeniami w TF

Federacja Handlowa używa abstrakcji o nazwie ITestDevice do uruchamiania testów. Ta abstrakcja obiektywizuje urządzenie z Androidem o najniższym wspólnym mianowniku:

  • Posiada numer seryjny
  • Ma stan: Online, Dostępny, Odzyskiwanie lub Niedostępny
  • Ma pewne pojęcie o niezawodności. Na przykład, jeśli wykonamy polecenie, możemy rozróżnić przypadek, w którym polecenie jeszcze się nie zakończyło, przypadek, w którym urządzenie nie obsługuje wykonywania poleceń, oraz przypadek, w którym urządzenie przestało reagować podczas wykonywania polecenia.

Klasy urządzeń

Trzy główne implementacje ITestDevice reprezentują trzy typowe przypadki użycia.

Urządzenie fizyczne

Jest to rzeczywisty element sprzętu podłączony do komputera-hosta TF albo przez USB, albo przy użyciu funkcji TCP adb. Klasa TestDevice znajduje się na szczycie biblioteki ddmlib, która jest interfejsem Java do adb. Zatem dowolne urządzenie fizyczne wymienione w adb devices może zostać utworzone i użyte jako TestDevice .

Emulator

Emulatory są obsługiwane specjalnie przez TF, ponieważ żyją w innym procesie. Aby współdziałać z emulatorem, podaj argument --emulator dla polecenia. Aby uzyskać więcej informacji, zobacz LocalSdkBuildProvider i SdkAvdPreparer .

Brak urządzenia

Załóżmy, że masz test, który w ogóle nie wchodzi w interakcję z urządzeniem. Na przykład może po prostu pobrać plik z jakiejś usługi i sprawdzić, czy sam plik jest prawidłowy. NullDevice to ITestDevice , które jest tylko odcinkiem pośrednim. Ma numer seryjny, taki jak null-device-N , a większość prób operacji polega na braku operacji w trybie cichym lub rzucaniu.