타겟 준비자와 마찬가지로 다중 타겟 준비자는 여러 기기를 함께 설정할 수 있게 해줍니다. 예를 들어 이 준비자는 테스트와 관련하여 블루투스를 통해 두 기기를 연결할 때 사용됩니다.
기본 인터페이스
기본 인터페이스는 실행될 setUp
메서드를 구현하게 해주는 IMultiTargetPreparer입니다. 준비자를 쉽게 사용 중지할 수 있도록 기본적인 사용 중지 기능을 제공하는 Google의 기본 추상화 클래스인 IMultiTargetPreparer를 구현하는 것이 좋습니다.
다중 타겟 준비자 역시 모든 정리 연산을 위한 tearDown
메서드를 제공합니다.
추천
각 준비자는 단일 기본 기능으로 제한하는 것이 좋습니다. 이렇게 하면 준비자를 훨씬 쉽게 재사용할 수 있습니다.
또한 연산이 중복되는 경우를 피할 수 있도록 준비자를 새로 추가하기 전에 가용한 준비자 목록부터 확인하는 것이 좋습니다. 준비자는 아래 위치에서 사용할 수 있습니다.
tools/tradefederation/core/src/com/android/tradefed/targetprep/multi/
다중 타겟 준비자가 설정할 수 있는 기기 수에는 제한이 없습니다. 모든 기기는 구현을 위한 인터페이스의 IInvocationContext
에서 사용할 수 있습니다.
XML 구성
예를 들어 개체 태그는 multi_target_preparer
입니다.
<multi_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_target_preparer>
연산 순서
multi_target_preparer
가target_preparer
이후에setUp
을 실행합니다.multi_target_preparer
가 타겟 클리너 전에tearDown
을 실행합니다.
이로 인해 모든 설정 단계의 성능이 보장되지는 않으므로 XML에서 다중 타겟 준비자를 multi_pre_target_preparer
로 정의하고 target_preparers
전에 실행할 수도 있습니다.
<multi_pre_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_pre_target_preparer>
전체 연산 순서는 다음과 같습니다.
- multi_pre_target_preparer(s) setUp
- target_preparer(s) setUp
- multi_target_preparer(s) setUp
- multi_target_preparer(s) tearDown
- target_preparer(s) tearDown
- multi_pre_target_preparer(s) tearDown
모든 다중 타겟 준비자는 요구되는 설정 순서에 따라 multi_target_preparer
또는 multi_pre_target_preparer
로 선언할 수 있습니다.