Execute testes CTS

Trade Federation é uma estrutura de teste contínuo para execução de testes em dispositivos Android. Para executar o Conjunto de Testes de Compatibilidade (CTS), primeiro leia a Visão Geral da Federação Comercial para obter uma explicação da estrutura de testes Tradefed.

Para executar um plano de teste:

  1. Configure dispositivos em teste (DUTs) de acordo com a configuração do dispositivo Android .
  2. Certifique-se de ter instalado as versões recentes do Android Debug Bridge (adb) e do Android Asset Packaging Tool (AAPT) e adicionado a localização dessas ferramentas ao caminho do sistema da sua máquina. Para obter informações sobre como instalar essas ferramentas, consulte Configurando CTS: ADB e AAPT.
  3. Baixe as compilações CTS lançadas em sua máquina host Linux e descompacte a compilação no local do host.
  4. Conecte pelo menos um dispositivo. Para preparar o DUT:
    • Pressione o botão home para definir o dispositivo para a tela inicial.
    • Não use o DUT para nenhuma outra tarefa.
    • Mantenha o DUT em posição estacionária para evitar o acionamento da atividade do sensor.
    • Aponte a câmera do dispositivo para um objeto que possa ser focado.
    • Não pressione nenhuma tecla do dispositivo enquanto o CTS estiver em execução. Pressionar teclas 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 CTS na pasta onde o pacote CTS foi descompactado. No shell de 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 quiser melhorar o tempo de execução do teste, você pode 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 para maior eficiência. Ao fragmentar mais de um dispositivo:

      • Para Android 9 e superior, use a opção de comando

        --shard-count number_of_shards
      • Para Android 8.1 e inferior, use a opção de comando

        --shards number_of_shards
    • Se não quiser executar todo o conjunto de testes, você pode executar o plano CTS de sua escolha na linha de comando:

      run cts --plan test_plan_name

      Para encontrar o nome do plano de teste:

      • Para Android 7.0 e superior, para ver uma lista de módulos de teste, digite

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

        list plans
      • Para Android 6.0 e versões anteriores, para visualizar uma lista de pacotes de teste no repositório, digite

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

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

    • Para Android 9 e superior, use

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

      run cts --retry session_number --shards number_of_shards
    • Para opções adicionais de comando Repetir dependendo da versão do CTS, consulte Console de comando do CTS v2 .

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

  8. Execute uma sessão de nova tentativa somente em testes paratermerizados com falha. Os testes parametrizados aprovados não são repetidos.

    • Para Android 11 e versões posteriores, a seguinte opção de comando de repetição está habilitada por padrão no comando run cts :

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

Execute CTS usando Android Test Station

Android Test Station é uma ferramenta de automação de teste que os desenvolvedores e engenheiros de teste do Android podem usar para empregar uma interface de usuário para executar conjuntos de testes padrão. Funciona com o Android Compatibility Test Suite (CTS) .

A ferramenta está disponível publicamente através do ATS User Guide e seu código é de código aberto em AOSP ( multitest_transport , tradefed_cluster ).

Execute o 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 reprovados para o modo de tela alternativo são anexados ao valor de display_mode , por exemplo, testcase1[display_mode=0] .

No CTS 13, a API DeviceStateManager permite que módulos de teste com a seguinte opção de configuração sejam executados em diferentes estados de dispositivo de um dispositivo dobrável. A execução do teste é automática no CTS com base nos estados de dobramento da tela definidos 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 de vários dispositivos em CTS

O Android 13 e versões superiores oferecem suporte a testes em vários dispositivos. Os testes que requerem vários dispositivos são executados automaticamente durante a execução do CTS. O CTS 13 inclui alguns testes de vários dispositivos que são acionados automaticamente quando a fragmentação é usada. Embora os testes não exijam alterações adicionais na configuração física, virtualenv precisa ser instalado para que os testes sejam executados corretamente. Para obter detalhes, consulte Conjuntos de vários dispositivos .

Execute testes em vários dispositivos

Para executar testes em vários dispositivos de forma independente, use o seguinte código:

  cts-tradefed > run cts-multidevice
  

Todas as opções regulares são suportadas. Para direcionar dispositivos específicos, adicione --serial <serial1> --serial <serial2> e assim por diante para o número de dispositivos direcionados.

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