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.