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
-
multi_target_preparer
executasetUp
apóstarget_preparer
. -
multi_target_preparer
executatearDown
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:
-
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.