Implementar o modo de arcabouço de testes

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