Preparadores de vários destinos

Semelhante a um preparador de destino, um o preparador de vários destinos permite configurar vários dispositivos juntos. Por exemplo: Isso seria usado ao conectar dois dispositivos com Bluetooth para testes.

Interface base

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

Os preparadores de vários destinos também fornecem diretamente um método tearDown para qualquer limpeza. operação

Recomendação

Recomendamos limitar cada preparador a uma única função principal. Isso permite para facilitar a reutilização dos preparadores.

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

Não há limite para o número de dispositivos que um preparador de vários destinos pode configurar. Todos os dispositivos estão disponíveis em IInvocationContext dos para implementar.

Configuração de XML

A tag de objeto é multi_target_preparer, por exemplo:

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

Ordem da 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, por isso pode no XML para definir o preparador de vários destinos como multi_pre_target_preparer e executá-lo antes das instâncias de 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 de vários destinos pode ser declarado como multi_target_preparer ou multi_pre_target_preparer dependendo da ordem de configuração necessária.