Test Harness Mode — это функция, добавленная в Android 10 для сторонних разработчиков приложений, которые хотят автоматизировать устройство или парк устройств. Эта функция предоставляет способ стереть все пользовательские данные на устройстве Android, сохранить ключи ADB и пропустить все экраны первоначальной настройки. Это позволяет пользователю запускать тест пользовательского интерфейса сразу после запуска без какого-либо ручного вмешательства.
Настройка
Вы можете определить, находится ли устройство в режиме тестовой проводки, проверив ActivityManager.isRunningInUserTestHarness()
. Сведите настройки к минимуму; ограничиться такими вещами, как пропуск экранов настройки (на клавиатуре или в мастере настройки), которые нарушат тесты пользовательского интерфейса или потребуют ручного вмешательства.
Выполнение
Реализация PersistentDataBlockManagerInternal
по умолчанию находится в PersistentDataBlockService
. Test Harness Mode реализован в TestHarnessModeService
.
Реализация режима Test Harness Mode по умолчанию использует тот же механизм хранения, что и защита от сброса к заводским настройкам, для временного хранения ключей ADB в постоянном разделе. Если на тестовом устройстве уже реализован постоянный раздел с защитой от сброса к заводским настройкам, для поддержки этой функции практически не требуется никаких действий.
OEM-производителям, у которых не настроен постоянный раздел, необходимо реализовать PersistentDataBlockManagerInternal
перед запуском TestHarnessModeService
.
Проверка состояния режима тестового жгута
Когда режим тестовой проводки включен, ActivityManager.isRunningInUserTestHarness()
возвращает true
.
Запуск тестового режима
Включение режима Test Harness Mode стирает все данные с устройства и настраивает устройство для тестирования. Это означает, что все части устройства, которые могут помешать тестированию (например, автоматическая синхронизация учетных записей, проверка пакетов и автоматические обновления), по умолчанию отключены, но могут быть повторно включены пользователем.
Запустите команду adb
, чтобы включить режим Test Harness Mode:
adb shell cmd testharness enable