모듈 컨트롤러 사용

AndroidTest.xml에 의해 정의된 각 도구 모음 모듈에는 모듈의 일부 동작을 변경할 수 있는 특수한 module_controller 객체가 포함될 수 있습니다.

일부 조건을 기준으로 모듈을 실행할지 여부

BaseModuleController를 구현하고 다음과 같은 AndroidTest.xml에 추가:

<object type="module_controller" class="com.android.tradefed.testtype.suite.module.<NAME>" />

모듈 컨트롤러는 public abstract RunStrategy shouldRun(IInvocationContext context); 구현에 따라 모듈을 실행할지 결정하는 데 사용됩니다.

실패에 관한 일부 로그를 수집할지 여부

전체 도구 모음을 실행하는 경우 도구 모음 수준에서 실패에 관한 일부 로그 수집(스크린샷, 버그 신고서, logcat)을 요청할 수 있습니다. 하지만 일부 모듈의 경우 요청된 특정 로그에 아무런 값이 없어 수집이 시간 낭비일 수 있습니다. 이러한 상황에서는 모듈이 어떤 로그에 관심이 있는지를 명시적으로 지정할 수 있습니다.

<object type="module_controller"
        class="com.android.tradefed.testtype.suite.module.TestFailureModuleController">
    <option name="screenshot-on-failure" value="<true OR false>" />
    <option name="bugreportz-on-failure" value="<true OR false>" />
    <option name="logcat-on-failure" value="<true OR false>" />
</object>

참고: 컨트롤러 구현은 재사용성을 극대화할 수 있도록 가능한 한 일반적이어야 합니다. 또한 조건에 따른 모듈 생략은 모듈 소유자의 검토를 거쳐 모듈 생략이 소유자를 위해 옳은 선택인지에 관한 승인을 받아야 합니다.