Preparadores multi-alvo

Semelhante a um preparador de destino , um preparador multialvo permite a configuração de vários dispositivos juntos. Por exemplo, isso seria usado ao conectar dois dispositivos com Bluetooth para teste.

Interface básica

A interface base é IMultiTargetPreparer , que permite implementar um método setUp para ser executado. Recomendamos implementar nossa classe abstrata básica BaseMultiTargetPreparer , que fornece um recurso de desabilitação integrado para desabilitar facilmente um preparador.

Os preparadores multi-alvo também fornecem diretamente um método tearDown para qualquer operação de limpeza.

Recomendação

Recomendamos limitar cada preparador a uma única função principal. Isto permite uma reutilização mais fácil de preparadores.

Verifique também a lista de preparadores disponíveis antes de adicionar um novo, para evitar duplicação de trabalho. Os preparadores estão disponíveis em tools/tradefederation/core/src/com/android/tradefed/targetprep/multi/ .

Não há limite para o número de dispositivos que um preparador multialvo pode configurar. Todos os dispositivos estão disponíveis no IInvocationContext da interface a implementar.

Configuração XML

A tag do objeto é multi_target_preparer , por exemplo:

<multi_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_target_preparer>

Ordem de operação

  1. multi_target_preparer executa setUp após target_preparer .
  2. multi_target_preparer executa tearDown antes dos limpadores de destino.

Isso nem sempre permite o desempenho de todas as etapas de configuração, portanto, é possível no XML definir o preparador multitarget como multi_pre_target_preparer e executá-lo antes das instâncias target_preparer .

<multi_pre_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_pre_target_preparer>

A ordem geral de operação é a seguinte:

  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

Qualquer preparador multi-alvo pode ser declarado como multi_target_preparer ou multi_pre_target_preparer dependendo da ordem de configuração necessária.