O modo arcabouço de testes é um recurso adicionado ao Android 10 para desenvolvedores de aplicativos de terceiros que desejam para automatizar um dispositivo ou uma frota de dispositivos. O recurso oferece um método para excluir todos dados do usuário em um dispositivo Android, reter chaves ADB e pular todas as telas de primeira configuração. Isso permite o usuário execute um teste de IU imediatamente após a inicialização, sem qualquer interação manual.
Personalização
Você pode determinar se um dispositivo está no modo de arcabouço de testes verificando
ActivityManager.isRunningInUserTestHarness()
: Minimize ao máximo as personalizações.
se limitar a ações como pular telas de configuração (no teclado ou assistente de configuração) que seriam corrompidas
testes de IU ou exigir 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 arcabouço de testes usa o mesmo mecanismo de armazenamento que o a proteção contra redefinição de fábrica para armazenar as chaves adb temporariamente em uma partição permanente. Se um a partição permanente com proteção contra redefinição para a configuração original já estiver implementada no dispositivo de teste, não é necessário muito trabalho para dar suporte ao recurso.
OEMs que não têm uma partição permanente configurada precisam implementar
PersistentDataBlockManagerInternal
antes da corrida
TestHarnessModeService
.
Verifique o status do modo de arcabouço de testes
Quando o modo de arcabouço de testes estiver ativado,
ActivityManager.isRunningInUserTestHarness()
retorna true
.
Executar 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 de arcabouço de testes:
adb shell cmd testharness enable