在 TF 中使用設備

Trade Federation 使用稱為ITestDevice的抽象來運行測試。這個抽像對象化了最低公分母的 Android 設備:

  • 它有一個序列號
  • 它有一個狀態:在線、可用、恢復或不可用
  • 它有一些可靠性的概念。例如,如果我們運行一個命令,我們可以區分命令尚未完成的情況、設備不支持運行命令的情況以及設備在運行命令時無響應的情況。

設備類

ITestDevice的三個主要實現代表三個常見用例。

物理設備

這是一個實際的硬件,通過 USB 或使用 adb 的 TCP 功能連接到 TF 主機。 TestDevice類位於 ddmlib 庫之上,該庫是 adb 的 Java 接口。因此adb devices中列出的任何物理設備都可以實例化並用作TestDevice

模擬器

模擬器由 TF 專門處理,因為它們存在​​於另一個進程中。要與模擬器交互,請為命令指定--emulator參數。有關詳細信息,請參閱LocalSdkBuildProviderSdkAvdPreparer

無設備

假設您有一個根本不與設備交互的測試。例如,它可能只是從某個服務下載文件並驗證文件本身是否有效。 NullDevice是一個ITestDevice ,它只是一個存根。它有一個類似null-device-N的序列號,大多數嘗試的操作要么是無操作,要么是拋出。