與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>
操作順序
multi_target_preparer
在target_preparer
之後執行setUp
-
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>
整體操作順序如下:
- multi_pre_target_preparer(s) 設置
- target_preparer(s) 設置
- multi_target_preparer(s) 設置
- multi_target_preparer(s) 拆解
- target_preparer(s) 拆解
- multi_pre_target_preparer(s) 拆解
任何多目標準備器都可以聲明為multi_target_preparer
或multi_pre_target_preparer
,具體取決於所需的設置順序。