Executar testes CTS

A Trade Federation é um framework contínuo para execução de testes no Android dispositivos. Para executar o conjunto de teste de compatibilidade (CTS), primeiro leia Visão geral da Trade Federation para uma do framework de teste da Tradefed.

Para executar um plano de teste:

  1. Configurar dispositivos em teste (DUTs, na sigla em inglês) de acordo com Configuração de dispositivo Android.
  2. Verifique se você instalou as versões recentes dos dois Android Debug Bridge (adb) e Android Asset Packaging Tool (AAPT) e adicionamos o local dessas ferramentas ao caminho do sistema da sua máquina. Para obter informações sobre como instalar essas ferramentas, consulte Como configurar o CTS: ADB e AAPT.
  3. Faça o download dos builds do CTS lançados na sua máquina host Linux e descompacte o build para hospedar o local.
  4. Conecte pelo menos um dispositivo. Para preparar o DUT:
    • Pressione o botão home para configurar o dispositivo para a tela inicial.
    • Não use o DUT para outras tarefas.
    • Mantenha o DUT em uma posição imóvel para evitar o acionamento do sensor atividades.
    • Aponte a câmera do dispositivo para um objeto que possa ser focado.
    • Não pressione nenhuma tecla no dispositivo enquanto o CTS estiver em execução. Pressionar ou tocar na tela de um DUT interfere na execução dos testes e pode levar a falhas nos testes.
  5. Inicie o script cts-tradefed do console do CTS na pasta em que o CTS O pacote foi descompactado. No shell da linha de comando do host, execute:

    ./android-cts/tools/cts-tradefed
  6. Execute o plano de teste padrão (contém todos os pacotes de teste):

    cts-tradefed > run cts
    • Se você quiser melhorar o tempo de execução do teste, fragmentar os testes em vários dispositivos. A fragmentação exige que o host conecte pelo menos dois dispositivos, mas seis ou mais dispositivos são recomendados por questão de eficiência. Ao fragmentar mais de um dispositivo:

      • Para o Android 9 e versões mais recentes, use a opção de comando

        --shard-count number_of_shards
      • Para o Android 8.1 e versões anteriores, use a opção de comando

        --shards number_of_shards
    • Se você não quiser executar todo o pacote de testes, poderá executar o Plano CTS de sua escolha a linha de comando:

      run cts --plan test_plan_name

      Para encontrar o nome do plano de teste:

      • No Android 7.0 e superior, para ver uma lista de módulos de teste, insira

        list modules
      • Para Android 6.0 e versões anteriores, para ver uma lista de planos de teste no repositório, insira

        list plans
      • Para Android 6.0 e anteriores, para ver uma lista de pacotes de teste no repositório, insira

        list packages
    • Para mais opções de comando dependendo das versões do CTS, consulte a referência de comandos do console, ou em "ajudar a todos" no console do Tradefed.

  7. Execute várias sessões de repetição até que todos os módulos de teste estejam concluídos e a os números de falhas de teste são os mesmos nas duas últimas sessões de repetição.

    • Para o Android 9 e versões mais recentes, use

      run retry --retry session_number --shard-count number_of_shards
    • Para o Android 7.0 a 8.1, use

      run cts --retry session_number --shards number_of_shards
    • Para ver outras opções de comando de repetição dependendo da versão do CTS, consulte Console de comando do CTS v2:

    • Para entender os detalhes da implementação da nova tentativa do CTS, consulte Nova tentativa do Trade Federation Suite.

  8. Executar uma sessão de repetição somente em testes parametrizados com falha. Aprovado os testes parametrizados não serão executados de novo.

    • No Android 11 e versões mais recentes, a opção de comando "Tentar novamente" está ativada por padrão no comando run cts:

      run retry --retry  --new-parameterized-handling
  9. Confira o progresso do teste e os resultados relatados no console.

Executar o CTS usando a Android Test Station

A Android Test Station é uma ferramenta de automação de testes que os desenvolvedores Android e testam que os engenheiros podem usar para empregar uma interface do usuário na execução de testes padrão suítes. Funciona com o conjunto de teste de compatibilidade do Android (CTS).

A ferramenta está disponível publicamente no Guia do usuário do ATS, e o código dela é aberto no AOSP (multitest_transport, tradefed_cluster).

Executar CTS para modos alternativos

A versão CTS 10 R4 adiciona um plano de teste para dispositivos com modos alternativos ou para dispositivos com mais de uma tela. Execute o plano de teste de modos alternativos usando run cts-foldable:

Os casos de teste aprovados ou com falha para o modo de tela alternativo são anexados com o valor de display_mode, por exemplo, testcase1[display_mode=0].

No CTS 13, a API DeviceStateManager permite módulos de teste com os seguintes a opção de configuração a ser executada em diferentes estados de um dispositivo dobrável. A execução do teste é automática no CTS com base nos estados de dobra da tela definido no dispositivo sem a necessidade de executar o plano de teste cts-foldable.

<option name="config-descriptor:metadata" key="parameter" value="all_foldable_states" />

Teste multidispositivo no CTS

O Android 13 e versões mais recentes oferecem suporte a testes em vários dispositivos. Testes que exigem que vários dispositivos sejam executados automaticamente durante a execução do CTS. O CTS 13 inclui alguns testes para vários dispositivos que são acionados automaticamente ao fragmentar é usado. Embora os testes não exijam mudanças adicionais na configuração física, O virtualenv precisa ser instalado para que os testes sejam executados corretamente. Para mais detalhes, consulte Multidispositivo Suítes.

Realizar testes multidispositivo

Para realizar testes multidispositivo de forma independente, use este código:

  cts-tradefed > run cts-multidevice
  

Todas as opções normais são compatíveis. Para segmentar dispositivos específicos, adicione --serial <serial1> --serial <serial2> e assim por diante para o número de dispositivos segmentado.

Para acionar testes em vários dispositivos automaticamente, use a fragmentação, como em --shard-count 2.