Состояния устройства в Tradefed

Android-устройства

Устройства Android в Tradefed могут находиться в нескольких состояниях, доступных через диспетчер устройств. Существует две основные категории состояний устройств Android: состояние распределения и состояние «онлайн».

Все эти состояния можно проверить в консоли Tradefed с помощью ld или 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

Распределение состояний

Состояния распределения — это состояния, специфичные для Tradefed, для мониторинга использования устройства. Они описываются параметром DeviceAllocationState и могут быть любыми из следующих:

  • НЕИЗВЕСТНО: промежуточное состояние, используемое при переходах для принятия решения об удалении устройства из списка отслеживания. Это происходит при отключении устройства от adb .
  • ИГНОРИРОВАНО: Устройство не может быть выбрано для сеанса TF, поскольку оно было отфильтровано. Скорее всего, TF был запущен с экспортированным ANDROID_SERIAL , что ограничивает диапазон устройств, которые можно выбрать.
  • ДОСТУПНО: Устройство готово к выбору для тестирования.
  • НЕДОСТУПНО: Устройство подключено, но не готово к выполнению тестов. В adb оно обычно отображается как offline .
  • ВЫДЕЛЕНО: Устройство в настоящее время проходит тестирование и не может быть выбрано.
  • CHECKING_AVAILABILITY: Устройство только что подключено, и TF проверяет, подключено ли оно к сети и доступно ли к нему. Если нет, оно будет недоступно.

Онлайн-состояния

Онлайн-состояния представляют фактическое состояние устройства, видимое adb devices . Они описываются TestDeviceState и могут быть:

  • FASTBOOT
  • ОНЛАЙН
  • ВОССТАНОВЛЕНИЕ
  • НЕТ В НАЛИЧИИ

Онлайн-состояния Tradefed связаны с используемой нами базовой библиотекой adb , ddmlib . Она описывает состояния с помощью DeviceState .