타겟 준비자와 마찬가지로 다중 타겟 준비자는 여러 기기를 함께 설정할 수 있게 해줍니다. 예를 들어 이 준비자는 테스트와 관련하여 블루투스를 사용하여 두 기기를 연결할 때 사용됩니다.
기본 인터페이스
기본 인터페이스는 실행할 setUp
메서드를 구현할 수 있게 해주는 IMultiTargetPreparer
입니다. 준비자를 쉽게 사용 중지할 수 있도록 기본적인 사용 중지 기능을 제공하는 Google의 기본 추상화 클래스인 BaseMultiTargetPreparer
를 구현하는 것이 좋습니다.
다중 타겟 준비자 역시 정리 작업에 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_preparer
인스턴스 이전에 실행할 수 있습니다.
<multi_pre_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_pre_target_preparer>
전체 연산 순서는 다음과 같습니다.
multi_pre_target_preparer setUp
target_preparer setUp
multi_target_preparer setUp
multi_target_preparer tearDown
target_preparer tearDown
multi_pre_target_preparer tearDown
모든 다중 타겟 준비자는 요구되는 설정 순서에 따라 multi_target_preparer
또는 multi_pre_target_preparer
로 선언할 수 있습니다.