在 TF 中使用裝置

Trade Federation 會使用名為 ITestDevice 的抽象概念執行測試。這個抽象方法會將最小公分母 Android 裝置具象化:

  • 它有序號
  • 狀態:線上、可用、復原或無法使用
  • 它具有某種可靠性概念。舉例來說,如果我們執行指令,可以區分指令尚未完成、裝置不支援執行指令,以及裝置在執行指令時停止回應的情況。

裝置類別

ITestDevice 的三種主要實作方式代表三種常見用途。

實體裝置

這是實際的硬體,可透過 USB 或 ADB 的 TCP 功能連線至 TF 主機機器。TestDevice 類別位於 ddmlib 程式庫之上,這是 ADB 的 Java 介面。因此,adb devices 中列出的任何實體裝置都可以例項化並用作 TestDevice

模擬器

由於模擬器位於另一個程序中,因此會由 TF 特別處理。如要與模擬器互動,請為指令指定 --emulator 引數。詳情請參閱 LocalSdkBuildProviderSdkAvdPreparer

未選取裝置

假設您有一個完全不與裝置互動的測試。舉例來說,它可能只會從某些服務下載檔案,並驗證檔案本身是否有效。NullDeviceITestDevice,只是一個簡化函式。它具有 null-device-N 之類的序號,且大多數嘗試的作業都會以無操作或擲回的方式進行。