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 excluir permanentemente todos os dados do usuário de um dispositivo Android, reter as chaves adb e pular todas as telas de primeira configuração. Isso permite que o usuário execute um teste de interface imediatamente após a inicialização, sem nenhuma interação manual.
Personalização
É possível determinar se um dispositivo está no modo de teste 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 está implementado em TestHarnessModeService
.
A implementação padrão do modo de teste 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.
Os OEMs que não têm uma partição persistente configurada precisam implementar
PersistentDataBlockManagerInternal
antes de executar
TestHarnessModeService
.
Verificar o status do modo de arcabouço de testes
Quando o modo de arcabouço de testes é ativado,
ActivityManager.isRunningInUserTestHarness()
retorna true
.
Executar o modo de arcabouço de testes
Ativar o modo de teste limpa 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 de sincronização automática, verificação de pacotes 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 de arcabouço de testes:
adb shell cmd testharness enable