테스트 하네스 모드 구현

테스트 하네스 모드는 하나 또는 여러 기기를 자동화하고자 하는 타사 앱 개발자를 위해 Android 10에 추가된 기능입니다. 이 기능은 Android 기기에서 모든 사용자 데이터를 완전 삭제하고 ADB 키를 유지하며 모든 최초 설정 화면을 건너뛸 수 있는 방법을 제공합니다. 이를 통해 사용자는 수동 상호작용 없이 시작 직후 UI 테스트를 실행할 수 있습니다.

맞춤설정

ActivityManager.isRunningInUserTestHarness()를 확인하여 기기가 테스트 하네스 모드인지 파악할 수 있습니다. 맞춤설정을 최소 상태로 유지하세요. 키보드나 설정 마법사에서 설정 화면을 건너뛰어 UI 테스트가 중단되도록 하거나 수동 상호작용이 필요한 경우로 제한하시기 바랍니다.

구현

PersistentDataBlockManagerInternal의 기본 구현은 PersistentDataBlockService에 있습니다. 테스트 하네스 모드는 TestHarnessModeService에서 구현됩니다.

테스트 하네스 모드의 기본 구현에서는 초기화 보호와 동일한 저장 메커니즘을 사용하여 ADB 키를 일시적으로 영구 파티션에 저장합니다. 초기화 보호 기능이 설정된 영구 파티션이 테스트 기기에 이미 구현되어 있는 경우 기능을 지원하기 위한 추가 작업이 거의 필요하지 않습니다.

영구 파티션이 설정되지 않은 OEM에서 설정하려면 TestHarnessModeService를 실행하기 전에 PersistentDataBlockManagerInternal을 구현해야 합니다.

테스트 하네스 모드의 상태 확인

테스트 하네스 모드가 사용 설정되면 ActivityManager.isRunningInUserTestHarness()true를 반환합니다.

테스트 하네스 모드 실행

테스트 하네스 모드를 사용 설정하면 기기에서 모든 데이터가 삭제되며 기기가 테스트용으로 설정됩니다. 즉, 테스트에 방해가 될 수 있는 기기의 모든 부분(예: 자동 동기화 계정, 패키지 인증, 자동 업데이트)이 모두 기본적으로 사용 중지되지만 사용자가 다시 사용 설정할 수 있습니다.

adb 명령어를 실행하여 테스트 하네스 모드를 사용 설정하세요.

adb shell cmd testharness enable