与目标准备器类似,多目标准备器允许同时设置多个设备。例如,这可用于通过蓝牙连接两个设备进行测试。
基本接口
基本接口是 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
,具体取决于所需的设置顺序。