TF에서 기기 사용하기

Trade Federation은 ITestDevice라는 추상화를 사용하여 테스트를 실행합니다. 이 추상화는 가장 약한 공통분모인 Android 기기를 객관화합니다.

  • 일련번호가 있습니다.
  • 온라인, 사용 가능, 복구 또는 사용 불가 등의 상태가 있습니다.
  • 어느 정도의 안정성 개념이 있습니다. 예를 들어 명령어를 실행하면 명령어가 완료되지 않은 경우와 기기가 명령어 실행을 지원하지 않는 경우와 명령어 실행 도중 기기가 응답을 멈춘 경우를 구분할 수 있습니다.

기기 클래스

ITestDevice의 기본적인 세 가지 구현은 세 가지의 일반적인 사용 사례를 나타냅니다.

실제 기기

USB 또는 adb의 TCP 기능을 사용하여 TF 호스트 머신에 연결된 실제 하드웨어입니다. TestDevice 클래스는 adb의 자바 인터페이스인 ddmlib 라이브러리 위에 위치합니다. 따라서 adb devices에 나열된 모든 실제 기기를 인스턴스화하여 TestDevice로 사용할 수 있습니다.

에뮬레이터

에뮬레이터는 다른 프로세스에 상주하므로 특별히 TF에 의해 처리됩니다. 에뮬레이터와 상호작용하려면 명령어에 --emulator 인수를 지정합니다. 자세한 내용은 LocalSdkBuildProviderSdkAvdPreparer를 참고하세요.

기기 없음

기기와 전혀 상호작용하지 않는 테스트가 있다고 가정해 보겠습니다. 예를 들면 특정 서비스에서 파일을 다운로드하고 파일 자체가 유효한지만 확인할 수 있습니다. NullDevice는 스텁에 불과한 ITestDevice입니다. null-device-N과 같은 일련번호가 있으며, 시도된 대부분의 작업이 소리 없이 무작동하거나 뭔가를 반환합니다.