Тест автоматического восстановления резервных копий
| Последнее обновление | Стабильный релиз | Предварительная версия для выпуска | Бета-версия | Альфа-версия |
|---|---|---|---|---|
| 23 сентября 2026 г. | - | - | - | 1.0.0-alpha01 |
Обратная связь
Ваши отзывы помогают улучшить Jetpack. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете проголосовать за существующую проблему, нажав кнопку со звездочкой.
Для получения более подробной информации см. документацию по системе отслеживания ошибок .
Тестовая версия 1.0 автоматического восстановления резервных копий
Версия 1.0.0-alpha01
23 сентября 2026 г.
Выпущены androidx.test.backup:backup:1.0.0-alpha01 и androidx.test.backup:backup-host:1.0.0-alpha01 . Версия 1.0.0-alpha01 содержит следующие коммиты .
Особенности первоначального выпуска
Первый релиз фреймворка для автоматизированного тестирования резервного копирования и восстановления данных для Android. Эта библиотека предоставляет автоматизированный сквозной способ проверки того, что пользовательские данные и учетные данные сохраняются после обновления устройства и восстановления из облака. Вместо ручного тестирования разработчики могут автоматизировать весь жизненный цикл: заполнение состояния приложения, его резервное копирование в соответствии с настроенными правилами ( dataExtractionRules и fullBackupContent ), очистка приложения и проверка целостности данных после восстановления. Фреймворк предоставляет два артефакта: androidx.test.backup:backup-host (который запускается на хост-компьютере для организации резервного копирования, очистки и восстановления данных через ADB) и androidx.test.backup:backup (который запускается на устройстве для заполнения и проверки данных приложения).
-
BackupRestoreController: Основной интерфейс на стороне хоста, используемый для управления процессами резервного копирования, удаления, восстановления и проверки тестового устройства. Предоставляет удобные конвейеры, такие какrunBackupRestoreFlow, а также операции с высокой степенью детализации (performBackup,performRestore,clearAppData,fetchDeviceLogsиrunOnDevice). Поддерживает как сопрограммы Kotlin, так и асинхронное выполнение JavaListenableFuture. -
BackupRestoreExtension: Расширение для Jupiter на основе JUnit 5, которое разрешает и внедряет параметрыBackupRestoreControllerв тестовые методы. Управляет автономными или общими сессиями ADB, автоматически устанавливает тестируемые и тестовые APK-файлы, закрывает экраны блокировки устройства и экраны блокировки клавиатуры для разблокировки хранилища, защищенного учетными данными, и обеспечивает изоляцию тестовой песочницы. -
BackupRestoreTestRunner: средство запускаInstrumentationтестов на устройстве, работающее внутри изолированной среды приложения. Динамически определяет и выполняет запрошенные реализацииBackupDeviceAction, отправляемые оркестраторами хоста, и безопасно перенаправляет большие JSON-данные на диск, чтобы избежать превышения лимитов буфера транзакций Binder. -
BackupDeviceAction: Контракт для пользовательских действий на стороне устройства, выполняемых непосредственно в песочнице целевого приложения во время заполнения данных (PHASE_POPULATE) или проверки после восстановления (PHASE_VERIFY). -
StorageDomain: Строго типизированные дескрипторы (Preference,Database,TextFileиBinaryFile), используемые вместе с предварительно созданными вспомогательными функциями действий (PopulateStorageActionиAssertStorageAction) для автоматического заполнения и проверкиSharedPreferences, баз данных SQLite и необработанных файлов в контекстах хранения с защитой учетных данных (CE) и защитой устройства (DE) без лишнего шаблонного кода. -
BackupTransportMode: Задает топологию передачи резервных копий платформы для имитации во время тестовых проходов, включаяDEVICE_TO_DEVICE(миграция на физическое устройство через USB или Wi-Fi Direct),CLOUD_ENCRYPTED(облачное резервное копирование с сквозным шифрованием на стороне клиента),CLOUD_UNENCRYPTED(стандартное облачное резервное копирование) иLOCAL(автономное резервное копирование локальной файловой системы). -
@Deviceи@Isolation: Аннотации хоста для выбора подключенных устройств, соответствующих определенным серийным номерам, уровням API или ролям для нескольких устройств, а также для настройки политик изоляции в песочнице между запусками тестов (IsolationPolicy.AUTOMATICпротивIsolationPolicy.MANUAL).