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 de base é
IMultiTargetPreparer
,
que permite a execução da implementação de um método setUp
. Recomendamos
implementar nossa classe abstrata básica
BaseMultiTargetPreparer
,
que oferece um recurso de desativação integrado para desativar facilmente um preparador.
Os preparadores de vários alvos 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. 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 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 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
multi_target_preparer
executasetUp
apóstarget_preparer
.multi_target_preparer
executatearDown
antes dos limpadores de destino.
Isso nem sempre permite a execução de todas as etapas de configuração. Portanto, é possível
no XML definir o preparador de vários alvos 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:
multi_pre_target_preparer setUp
target_preparer setUp
multi_target_preparer setUp
multi_target_preparer tearDown
target_preparer tearDown
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.