多目標準備者

Target Preparer類似,multi-target preparer 允許同時設置多個設備。例如,這將用於通過藍牙連接兩個設備進行測試。

基礎接口

基本接口是IMultiTargetPreparer ,它允許實現將要執行的setUp方法。我們建議實現我們的基本抽像類BaseMultiTargetPreparer ,它提供了一個內置的禁用功能來輕鬆禁用準備器。

多目標準備器還直接為任何清理操作提供了一個tearDown方法。

推薦

我們建議每個準備者僅限於一個主要功能。這允許更容易地重複使用準備器。

您還應該在添加新的準備者之前檢查可用的準備者列表,以避免重複工作。製備器可用於:

工具/tradefederation/core/src/com/android/tradefed/targetprep/multi/

多目標準備者可以設置的設備數量沒有限制。所有的設備都可以在接口的IInvocationContext中實現。

XML 配置

對象標記將是multi_target_preparer ,例如:

<multi_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_target_preparer>

操作順序

  1. multi_target_preparertarget_preparer之後執行setUp
  2. multi_target_preparer在目標清理器之前執行tearDown

這並不總是允許執行所有設置步驟,因此可以在 XML 中將多目標準備器定義為multi_pre_target_preparer並在target_preparers之前執行它。

<multi_pre_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_pre_target_preparer>

整體操作順序如下:

  1. multi_pre_target_preparer(s) 設置
  2. target_preparer(s) 設置
  3. multi_target_preparer(s) 設置
  4. multi_target_preparer(s) 拆解
  5. target_preparer(s) 拆解
  6. multi_pre_target_preparer(s) 拆解

任何多目標準備器都可以聲明為multi_target_preparermulti_pre_target_preparer ,具體取決於所需的設置順序。