與目標準備器類似,多目標準備器允許同時設定多個裝置。例如,當透過藍牙連接兩個裝置進行測試時,將使用此功能。
基礎介面
基本介面是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>
操作順序
multi_target_preparer
在target_preparer
之後執行setUp
。-
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>
整體操作順序如下:
-
multi_pre_target_preparer setUp
-
target_preparer setUp
-
multi_target_preparer setUp
-
multi_target_preparer tearDown
-
target_preparer tearDown
-
multi_pre_target_preparer tearDown
任何多目標準備器都可以宣告為multi_target_preparer
或multi_pre_target_preparer
,取決於所需的設定順序。