多目标准备器

目标准备器类似,多目标准备器允许同时设置多个设备。例如,当通过蓝牙连接两个设备进行测试时,将使用此功能。

基础接口

基础接口是 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,具体取决于所需的设置顺序。