Stany urządzenia w Tradefed

urządzeń z Androidem

Urządzenia z Androidem w Tradefed mogą przechodzić przez kilka stanów udostępnionych w Menedżerze urządzeń. Istnieją 2 główne kategorie stanów urządzeń z Androidem: stan alokacji i stan online.

Wszystkie te stany można sprawdzić w konsoli Tradefed, używając l d lub list devices.

tf >l d
Serial        State         Allocation   Product   Variant   Build    Battery
84TX0081B     ONLINE        Available    blueline  blueline  MASTER   100
HT6550300002  ONLINE        Available    sailfish  sailfish  MASTER   94
876X00GNG     UNAUTHORIZED  Unavailable  unknown   unknown   unknown  unknown
HT6570300047  UNAUTHORIZED  Unavailable  unknown   unknown   unknown  unknown

Stany przydziału

Stany alokacji to stany specyficzne dla Tradefed, które służą do monitorowania korzystania z urządzenia. Są one opisane za pomocą atrybutu DeviceAllocationState i mogą być dowolnymi wartościami:

  • UNKNOWN: stan pośredni używany podczas przełączania, aby określić, czy urządzenie powinno zostać usunięte z listy śledzenia. Dzieje się tak, gdy urządzenie zostanie odłączone od adb.
  • IGNORED: Device cannot be selected for the TF session because it was filtered out. Najprawdopodobniej TF zostało uruchomione z wyeksportowanymi danymi ANDROID_SERIAL, co ogranicza zakres urządzeń, które można wybrać.
  • DOSTĘPNE: urządzenie jest gotowe do wybrania na potrzeby testu.
  • UNAVAILABLE: urządzenie jest połączone, ale nie jest gotowe do przeprowadzania testów. Zwykle wyświetla się jako offline w pliku adb.
  • ALLOCATED: urządzenie jest obecnie objęte testem i nie można go wybrać.
  • CHECKING_AVAILABILITY: urządzenie zostało właśnie połączone, a TF sprawdza, czy jest ono prawidłowo online i czy można je udostępnić. Jeśli nie, zostanie ona niedostępna.

Stany online

Stany online przedstawiają rzeczywisty stan urządzenia z perspektywy usługi adb devices. Są one opisane przez TestDeviceState i mogą być:

  • FASTBOOT
  • ONLINE
  • RECOVERY
  • NOT_AVAILABLE

Stany online w usłudze Tradefed są powiązane z biblioteką adb, której używamy (ddmlib). Określa on stany za pomocą atrybutu DeviceState.