Teste automatizado de restauração de backup
| Atualização mais recente | Versão estável | Versão candidata a lançamento | Versão Beta | Versão Alfa |
|---|---|---|---|---|
| 23 de setembro de 2026 | - | - | - | 1.0.0-alpha01 |
Feedback
Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.
Consulte a documentação do Issue Tracker para saber mais.
Versão de teste de restauração automática de backup 1.0
Versão 1.0.0-alpha01
23 de setembro de 2026
Lançamento de androidx.test.backup:backup:1.0.0-alpha01 e androidx.test.backup:backup-host:1.0.0-alpha01. A versão 1.0.0-alpha01 contém estes commits.
Recursos da versão inicial
Versão inicial da estrutura de testes de backup e restauração automatizados para Android. Essa biblioteca oferece uma maneira automatizada e de ponta a ponta de testar se os dados do usuário e as credenciais da conta sobrevivem com segurança a upgrades de dispositivos e restaurações na nuvem. Em vez de depender de testes manuais, os desenvolvedores podem automatizar todo o ciclo de vida: propagação do estado do app, backup de acordo com as regras configuradas (dataExtractionRules e fullBackupContent), limpeza do app e verificação da integridade de dados após a restauração. O framework fornece dois artefatos: androidx.test.backup:backup-host (executado no computador host para orquestrar transmissões de backup, exclusão permanente e restauração pelo ADB) e androidx.test.backup:backup (executado no dispositivo para preencher e verificar dados de apps).
BackupRestoreController: a interface principal do lado do host usada para controlar fluxos de trabalho de backup, limpeza, restauração e verificação de um dispositivo de teste. Fornece pipelines convenientes, comorunBackupRestoreFlow, além de operações refinadas (performBackup,performRestore,clearAppData,fetchDeviceLogserunOnDevice). Compatível com corrotinas do Kotlin e execução assíncronaListenableFuturedo Java.BackupRestoreExtension: uma extensão do JUnit 5 Jupiter que resolve e injeta parâmetrosBackupRestoreControllerem métodos de teste. Gerencia sessões do adb independentes ou compartilhadas, instala automaticamente APKs testados e de teste, dispensa telas de bloqueio e keyguards do dispositivo para desbloquear o armazenamento protegido por credenciais e impõe o isolamento do sandbox de teste.BackupRestoreTestRunner: um executor de testesInstrumentationno dispositivo que é executado dentro do sandbox do aplicativo. Resolve e executa dinamicamente as implementações deBackupDeviceActionsolicitadas enviadas pelos orquestradores de host e redireciona com segurança grandes payloads de resultados JSON para o disco para evitar limites de buffer de transação do Binder.BackupDeviceAction: o contrato para ações personalizadas do lado do dispositivo executadas diretamente na sandbox do aplicativo de destino durante a inclusão de dados (PHASE_POPULATE) ou a validação pós-restauração (PHASE_VERIFY).StorageDomain: descritores fortemente tipados (Preference,Database,TextFileeBinaryFile) usados com helpers de ação pré-criados (PopulateStorageActioneAssertStorageAction) para propagar e declarar automaticamenteSharedPreferences, bancos de dados SQLite e arquivos brutos em contextos de armazenamento protegidos por credenciais (CE) e por dispositivo (DE) sem boilerplate.BackupTransportMode: especifica a topologia de transporte de backup da plataforma a ser simulada durante as passagens de teste, incluindoDEVICE_TO_DEVICE(migração de dispositivo físico via USB ou Wi-Fi Direct),CLOUD_ENCRYPTED(backup na nuvem com criptografia de ponta a ponta do lado do cliente),CLOUD_UNENCRYPTED(backup padrão na nuvem) eLOCAL(backup off-line do sistema de arquivos local).@Devicee@Isolation: anotações de host para selecionar dispositivos conectados que correspondem a números de série, níveis da API ou papéis multidispositivo específicos e para configurar políticas de isolamento de sandbox entre execuções de teste (IsolationPolicy.AUTOMATICxIsolationPolicy.MANUAL).