多目標製備器

目標準備器類似,多目標準備器允許同時設定多個裝置。例如,當透過藍牙連接兩個裝置進行測試時,將使用此功能。

基礎介面

基本介面是IMultiTargetPreparer ,它允許實作要執行的setUp方法。我們建議實作我們的基本抽象類別BaseMultiTargetPreparer ,它提供了內建停用功能,可以輕鬆停用準備器。

多目標準備器也直接為任何清理作業提供tearDown方法。

推薦

我們建議將每個準備器限制為一個主函數。這樣可以更輕鬆地重複使用製備器。

在新增新的準備人員之前,也要檢查可用的準備人員列表,以避免重複工作。準備器可在tools/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_preparer實例之前執行它。

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

整體操作順序如下:

  1. multi_pre_target_preparer setUp
  2. target_preparer setUp
  3. multi_target_preparer setUp
  4. multi_target_preparer tearDown
  5. target_preparer tearDown
  6. multi_pre_target_preparer tearDown

任何多目標準備器都可以宣告為multi_target_preparermulti_pre_target_preparer ,取決於所需的設定順序。