與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 ,具體取決於所需的設置順序。