Executar testes automatizados do CTS (Android 11 ou mais recente)

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:

  1. Confira se você seguiu as instruções em Configurar o teste automatizado do CTS.
  2. 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 >).

  3. O plano de teste cts contém todos os testes automatizados de CTS. Execute o comando abaixo para executar o plano de teste cts:

    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.

  4. Confira os resultados do teste. Para mais informações, consulte Interpretar resultados do CTS.

  5. 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`
    
  6. 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:

  1. Identifique o nome do plano de teste que você quer executar executando o comando list modules.

  2. 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.