Implementar o modo de arcabouço de testes

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

Personalização

Você pode determinar se um dispositivo está no modo de arcabouço de testes verificando ActivityManager.isRunningInUserTestHarness(): Mantenha as personalizações no mínimo. Limite-as a coisas como pular telas de configuração (no teclado ou no assistente de configuração) que quebrariam os testes de IU ou exigiriam interação manual.

Implementação

A implementação padrão de PersistentDataBlockManagerInternal está em PersistentDataBlockService. O modo de arcabouço de testes foi implementado em TestHarnessModeService.

A implementação padrão do modo de teste de ferramenta usa o mesmo mecanismo de armazenamento da proteção de redefinição de fábrica para armazenar as chaves adb temporariamente em uma partição persistente. Se uma partição persistente com proteção contra redefinição para a configuração original já estiver implementada no dispositivo de teste, será necessário pouco ou nenhum trabalho para oferecer suporte ao recurso.

OEMs que não têm uma partição permanente configurada precisam implementar PersistentDataBlockManagerInternal antes da corrida TestHarnessModeService.

Verificar o status do modo de arcabouço de testes

Quando o modo Arcabouço de testes está ativado, ActivityManager.isRunningInUserTestHarness() retorna true.

Executar o modo de arcabouço de testes

A ativação do modo de arcabouço de testes exclui permanentemente todos os dados do dispositivo e o configura para testes. Isso significa que todas as partes do dispositivo que podem interferir no teste (como contas com sincronização automática, verificação de pacote e atualizações automáticas) são desativadas por padrão mas o usuário pode reativá-las.

Execute o comando adb para ativar o modo Arcabouço de testes:

adb shell cmd testharness enable