Реализация режима тестовой привязи

Test Harness Mode - это функция, добавленная в Android 10 для сторонних разработчиков приложений, которые хотят автоматизировать устройство или парк устройств. Функция обеспечивает способ стереть все пользовательские данные на устройстве Android, сохранить ключи АБР, и пропустить все экраны настройки первого времени. Это позволяет пользователю запускать тест пользовательского интерфейса сразу после запуска без какого-либо вмешательства вручную.

Настройка

Вы можете определить , если устройство находится в тестовом режиме Harness, проверив ActivityManager.isRunningInUserTestHarness() . Сведите настройки к минимуму; ограничьте такие вещи, как пропуск экранов настройки (на клавиатуре или в мастере настройки), которые могут нарушить тесты пользовательского интерфейса или потребовать ручного взаимодействия.

Реализация

Реализация по умолчанию PersistentDataBlockManagerInternal в PersistentDataBlockService . Режим проверки проводки осуществляется в TestHarnessModeService .

Реализация по умолчанию Test Harness Mode использует тот же механизм хранения, что и Factory Reset Protection, для временного хранения ключей ADB в постоянном разделе. Если постоянный раздел с защитой от сброса к заводским настройкам уже реализован на тестовом устройстве, для поддержки этой функции не требуется почти никакой работы.

OEM - производители , которые не имеют постоянный набор разделов на необходимость реализации PersistentDataBlockManagerInternal перед запуском TestHarnessModeService .

Проверка состояния режима тестовой привязи

Когда Test Mode Harness включен, ActivityManager.isRunningInUserTestHarness() возвращает true .

Запуск режима тестовой привязи

Включение режима Test Harness Mode стирает все данные с устройства и настраивает устройство для тестирования. Это означает, что все части устройства, которые могут помешать тестированию (например, автосинхронизация учетных записей, проверка пакетов и автоматические обновления), отключены по умолчанию, но могут быть повторно включены пользователем.

Запустите adb команду , чтобы включить тестовый режим Harness:

adb shell cmd testharness enable