TF でデバイスと連携する

Trade Federation は、 ITestDeviceと呼ばれる抽象化を使用してテストを実行します。この抽象化は、最小公倍数の Android デバイスをオブジェクト化します。

  • シリアル番号が付いています
  • 状態は次のとおりです: オンライン、使用可能、リカバリー、または使用不可
  • 信頼性という概念があります。たとえば、コマンドを実行する場合、コマンドがまだ終了していない場合、デバイスがコマンドの実行をサポートしていない場合、およびコマンドの実行中にデバイスが応答しなくなった場合を区別できます。

デバイスクラス

ITestDeviceの 3 つの主要な実装は、3 つの一般的な使用例を表しています。

物理デバイス

これは実際のハードウェアであり、USB または adb の TCP 機能を使用して TF ホスト マシンに接続されます。 TestDeviceクラスは、adb への Java インターフェイスである ddmlib ライブラリの上位にあります。したがって、 adb devicesにリストされている物理デバイスはインスタンス化してTestDeviceとして使用できます。

エミュレータ

エミュレータは別のプロセスに存在するため、TF によって特別に処理されます。エミュレータと対話するには、コマンドに--emulator引数を指定します。詳細については、 「LocalSdkBuildProvider」「SdkAvdPreparer」を参照してください。

デバイスなし

デバイスとまったく対話しないテストがあるとします。たとえば、何らかのサービスからファイルをダウンロードし、ファイル自体が有効であることを確認するだけかもしれません。 NullDevice は、単なるスタブであるITestDeviceです。これにはnull-device-Nのようなシリアル番号があり、試行されるほとんどの操作はサイレントに no-op または throw されます。