Implementar modo de equipamento de teste

O modo Test Harness é um recurso adicionado ao 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 chaves ADB e pular todas as telas de configuração inicial. Isso permite que o usuário execute um teste de IU imediatamente após a inicialização, sem qualquer interação manual.

Costumização

Você pode determinar se um dispositivo está no modo Test Harness 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 IU ou exigiriam interação manual.

Implementação

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

A implementação padrão do modo Test Harness usa o mesmo mecanismo de armazenamento que a 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 de fábrica já estiver implementada no dispositivo de teste, pouco ou nenhum trabalho será necessário para oferecer suporte ao recurso.

Os OEMs que não possuem uma partição persistente configurada precisam implementar PersistentDataBlockManagerInternal antes de executar TestHarnessModeService .

Verifique o status do modo Test Harness

Quando o modo Test Harness está ativado, ActivityManager.isRunningInUserTestHarness() retorna true .

Execute o modo de teste de chicote

A ativação do modo Test Harness apaga 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 sincronização automática de contas, verificação de pacotes e atualizações automáticas) estão desabilitadas por padrão, mas o usuário pode reativá-las.

Execute o comando adb para ativar o modo Test Harness:

adb shell cmd testharness enable