多目标准备者

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>

操作顺序

  1. multi_target_preparertarget_preparer之后执行setUp
  2. 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>

整体操作顺序如下:

  1. multi_pre_target_preparer(s) 设置
  2. target_preparer(s) 设置
  3. multi_target_preparer(s) 设置
  4. multi_target_preparer(s) 拆解
  5. target_preparer(s) 拆解
  6. multi_pre_target_preparer(s) 拆解

任何多目标准备器都可以声明为multi_target_preparermulti_pre_target_preparer ,具体取决于所需的设置顺序。