使用 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序號,大多數嘗試的操作要么靜默無操作,要么拋出。