Implementando o modo de arnês de teste

O modo Test Harness é um recurso adicionado no Android 10 para desenvolvedores de aplicativos de terceiros que desejam automatizar um dispositivo ou uma frota de dispositivos. O recurso fornece um método para limpar todos os dados do usuário em um dispositivo Android, reter as chaves ADB e pular todas as telas de configuração inicial. Isso permite que o usuário execute um teste de interface do usuário imediatamente após a inicialização sem nenhuma interação manual.

Costumização

Você pode determinar se um dispositivo está no modo de fiação de teste verificando ActivityManager.isRunningInUserTestHarness() . Mantenha as personalizações ao mínimo; limite a coisas como pular telas de configuração (no teclado ou no assistente de configuração) que interromperiam os testes de interface do usuário ou exigiriam interação manual.

Implementação

A implementação padrão de PersistentDataBlockManagerInternal está em PersistentDataBlockService . Test Harness Mode é implementado em TestHarnessModeService .

A implementação padrão do Test Harness Mode usa o mesmo mecanismo de armazenamento da Factory Reset Protection para armazenar as chaves ADB temporariamente em uma partição persistente. Se uma partição persistente com proteção de redefinição de fábrica já estiver implementada no dispositivo de teste, pouco ou nenhum trabalho será necessário para oferecer suporte ao recurso.

OEMs que não têm uma configuração de partição persistente precisam implementar PersistentDataBlockManagerInternal antes de executar TestHarnessModeService .

Verificando o status do modo de chicote de fios de teste

Quando o modo de fiação de teste está ativado, ActivityManager.isRunningInUserTestHarness() retorna true .

Executando o modo de arnês de teste

Ativar o modo de fiação de teste limpa todos os dados do dispositivo e configura o dispositivo para teste. Isso significa que todas as partes do dispositivo que podem interferir nos testes (como contas de sincronização automática, verificação de pacotes e atualizações automáticas) estão todas desativadas por padrão, mas podem ser reativadas pelo usuário.

Execute o comando adb para habilitar o modo de fiação de teste:

adb shell cmd testharness enable