Há duas opções para executar testes automatizados do CTS:
A Trade Federation é um framework de app e teste que permite executar testes na linha de comando. Basicamente, o framework permite que você anote testes usando a anotação
@Test
, e o app encontra e executa esses testes.O OmniLab Android Test Station é um app que permite executar testes em uma GUI.
Esta página explica como executar testes automatizados usando a Trade Federation. Para instruções sobre como executar testes usando o OmniLab Android Test Harness, consulte OmniLab Android Test Station.
Executar todos os testes automatizados de CTS
A Trade Federation contém o console CTS, uma interface de linha de comando para executar testes. Para executar todo o conjunto de testes automatizados do CTS, faça o seguinte:
- Confira se você seguiu as instruções em Configurar o teste automatizado do CTS.
Na estação de trabalho de teste, inicie o console do CTS executando o script
cts-tradefed
na pasta em que o pacote do CTS foi descompactado:./android-cts/tools/cts-tradefed
O console do CTS mostra um cursor para você digitar comandos do CTS (
cts-tradefed >
).O plano de teste
cts
contém todos os testes automatizados de CTS. Execute o comando abaixo para executar o plano de testects
:run cts
Os testes automatizados do CTS são executados. Observe o seguinte:
O Android 13 e versões mais recentes oferecem suporte a testes em vários dispositivos. Esses testes são executados automaticamente somente quando o sharding é usado. Para mais informações sobre fragmentação, consulte Melhorar o tempo de execução do teste. Se você quiser executar esses testes manualmente, consulte Executar testes em vários dispositivos.
Sempre que executar o CTS, pressione Ctrl+C para interromper o console CTS atual e execute o console CTS novamente.
Não é possível executar várias versões do CTS em um único host porque cada uma delas é aberta com um servidor de código de local aberto (OLC, na sigla em inglês) existente.
Confira os resultados do teste. Para mais informações, consulte Interpretar resultados do CTS.
Se esta for sua primeira execução de teste, talvez alguns testes falhem devido a problemas fora do seu controle. Por exemplo, uma conexão de rede pode estar lenta ou um sinal de GPS pode estar fraco. Repita os testes até que todos os módulos de teste sejam concluídos e os números de falha sejam os mesmos entre as duas últimas sessões de repetição:
run retry --retry session_number`
Depois que as falhas dos testes forem consistentes nas novas tentativas, foque em depurar os testes restantes com falha. Para informações sobre como resolver problemas de resultados de teste, consulte Resolver falhas de triagem de teste e Resolver problemas de testes CTS.
Executar o CTS para dispositivos multitela
Se o dispositivo estiver executando o Android 11 ou 12 e tiver várias
telas, execute o plano de teste cts-foldable
separadamente:
run cts-foldable
Os casos de teste aprovados ou reprovados para o modo de tela alternativo são anexados com o
valor de display_mode
, por exemplo, testcase1[display_mode=0]
.
Executar testes em vários dispositivos
Execute o comando a seguir para executar o plano de teste cts-multidevice
:
run cts-multidevice
Executar planos de teste individuais
Em vez de executar todos os planos de teste de uma só vez, você pode executar planos de teste individuais. Essa opção é útil para economizar tempo e se concentrar em um conjunto específico de testes. Para executar um plano de teste individual:
Identifique o nome do plano de teste que você quer executar executando o comando
list modules
.Executar o plano de teste:
run cts --plan test_module_or_plan_name
Melhorar o tempo de execução do teste
Se você quiser melhorar o tempo de execução do teste, divida os testes em vários dispositivos. O fragmentação exige que o host conecte pelo menos dois dispositivos, mas seis ou mais dispositivos são recomendados para eficiência.
Para dividir os testes no Android 11 ou mais recente, execute:
run cts --shard-count number_of_shards
Além disso, antes de executar os testes para validação, é possível melhorar o tempo de execução
do teste usando o comando run cts-dev
do CTS. Esse comando pula
pré-condições, a coleta de informações do dispositivo e todos os verificadores de status do sistema.
Ele também executa os testes em apenas uma ABI.