Semelhante ao Target Preparer , o preparador multi-alvo permite a configuração de vários dispositivos juntos. Por exemplo, isso seria usado ao conectar dois dispositivos via Bluetooth para teste.
Interface básica
A interface base é IMultiTargetPreparer , que permite implementar um método setUp
que será executado. Recomendamos implementar nossa classe abstrata básica BaseMultiTargetPreparer , que fornece um recurso de desativação integrado para desativar facilmente um preparador.
Os preparadores de vários alvos também fornecem diretamente um método de tearDown
para qualquer operação de limpeza.
Recomendação
Recomendamos que cada preparador seja limitado a uma única função principal. Isto permite uma reutilização mais fácil dos preparadores.
Você também deve verificar 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 no IInvocationContext
da interface a ser implementada.
Configuração XML
A tag do objeto será 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 de vários destinos como multi_pre_target_preparer
e executá-lo antes de target_preparers
.
<multi_pre_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_pre_target_preparer>
A ordem geral de operação é a seguinte:
- configuração de multi_pre_target_preparer(es)
- configuração do(s) alvo_preparador(es)
- configuração de multi_target_preparer(s)
- multi_target_preparer(s) tearDown
- target_preparer(s) tearDown
- multi_pre_target_preparer(s) tearDown
Qualquer preparador multi-destino pode ser declarado como multi_target_preparer
ou multi_pre_target_preparer
dependendo da ordem de configuração necessária.