Implementar modo de teste de arnês

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

Costumização

Você pode determinar se um dispositivo está no modo Test Harness verificando ActivityManager.isRunningInUserTestHarness() . Mantenha as personalizações no mínimo; limite a coisas como pular telas de configuração (no teclado ou no assistente de configuração) que interromperiam os testes de interface do usuário 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 Test Harness Mode 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 de redefinição de fábrica já estiver implementada no dispositivo de teste, pouco ou nenhum trabalho será necessário para dar suporte ao recurso.

Os OEMs que não têm uma configuração de partição persistente 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 .

Executar modo de teste de arnês

Ativar o 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 no teste (como contas de sincronização automática, verificação de pacote e atualizações automáticas) estão desativadas por padrão, mas o usuário pode reativá-las.

Execute o comando adb para habilitar o modo Test Harness:

adb shell cmd testharness enable