기기 측 테스트 (예: 계측, UI Automator 테스트)를 실행할 때는 호스트 측 수집기가 적합하지 않을 수도 있습니다. 이는 기기에서 실행되는 테스트에 관한 측정항목 수집을 동기화하기가 어렵기 때문입니다. 예를 들어 비동기식으로 캡처한 스크린샷은 원하는 화면을 놓칠 가능성이 높으므로 소용이 없습니다.
이러한 사용 사례를 충족하기 위해 Google 수집기의 기기 측 버전이 존재하며, 모든 AndroidJUnitRunner
계측에 이를 사용할 수 있습니다.
BaseMetricListener
를 구현하면 Tradefed 보고 파이프라인과 온전히 호환되는 방식으로 수집된 측정항목을 자동으로 보고할 수 있습니다.
이 라이브러리는 Tradefed 자체에서 분리되며 Tradefed 없이 사용할 수 있습니다.
Tradefed의 AndroidJUnitTest
실행기를 사용 중인 경우에는 다음과 같은 명령줄 옵션을 지정하여 수집기가 테스트와 함께 실행되도록 하기만 하면 됩니다.
--device-listeners android.device.collectors.ScreenshotListener
LOCAL_STATIC_JAVA_LIBRARIES += collector-device-lib
구현
기본 클래스 BaseMetricListener
외에 추가로 구현하는 경우 계측 수명 주기 동안 어느 시점에 측정항목을 수집하고 싶은지 선택할 수 있습니다.
- 테스트 실행 시작 시:
onTestRunStart
- 테스트 사례 시작 시:
onTestStart
- 테스트 사례 종료 시:
onTestEnd
- 테스트 사례 실패 시:
onTestFail
- 테스트 실행 종료 시:
onTestRunEnd
상호작용
기기 측의 측정항목 수집은 계측 실행 자체에 동기식으로 이루어지며 측정항목은 다시 계측 결과로 전달되고 Tradefed에 의해 파싱되어 호출의 일부로 보고됩니다.