Executar testes do CTS-V

O Verificador do conjunto de teste de compatibilidade do Android (Verificador do CTS) complementa o conjunto de teste de compatibilidade (CTS). Enquanto o CTS verifica APIs e funções que podem ser automatizadas, o Verificador do CTS oferece testes para APIs e funções que não podem ser testadas em um dispositivo fixo sem entrada ou posicionamento manual, como qualidade de áudio, tela sensível ao toque, acelerômetro e câmera.

Requisitos

Antes de executar o CTS Verifier, verifique se você tem o seguinte equipamento:

  • Dispositivo Android que passou no CTS e tem compatibilidade verificada com a API Android. Este é o dispositivo em teste (DUT, na sigla em inglês).
  • Computador Linux com porta compatível com USB 2.0. Todas as conexões com o DUT passam por essa porta.
  • Segundo dispositivo Android com uma implementação conhecida e compatível de Bluetooth, Wi-Fi Direct, Wi-Fi Aware, UWB (se o DUT tiver suporte para UWB) e emulação de cartão host (HCE) NFC.
  • Um roteador Wi-Fi configurado com nome e senha do ponto de acesso. O roteador precisa ter a capacidade de se desconectar da Internet sem ser desligado.

Prepare também os tripés, suportes de dispositivos e distâncias pré-medidas necessárias para os testes de medição de distância (proximidade) para UWB, Wi-Fi NAN e Bluetooth RSSI. Para mais detalhes, consulte Calibragem de presença.

Requisitos de UICC para testes de NFC

O CTS Verifier tem os seguintes casos de teste de NFC:

  • Desativação de campo (usa dados de transação de 0x54)
  • Desmarcar (usa dados de transação de 0x52)
  • Comando HCI (0025000000) (usa dados de transação de 0x02)

Os testes de eventos de transação exigem dois dispositivos, um dos quais precisa ter um UICC SecureElement com as seguintes regras de acesso:

  • Hash do APK do CtsVerifier: 61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
  • Identificador de aplicativo autorizado (AID) para acesso a eventos NFC: 0xA000000476416E64726F696443545341

No emulador, esperamos que o evento de transação envie a atividade correspondente para o primeiro plano.

Configuração

Mude o modo de navegação do sistema do dispositivo de teste para o modo com três botões da seguinte forma:

  1. Abra "Configurações".
  2. Acesse Sistema > Gesto > Navegação no sistema.
  3. Selecione qualquer modo de navegação com botões, de preferência o modo com três botões, se disponível.

Para configurar o ambiente de teste do CTS Verifier:

  1. No computador Linux:

    1. Execute o comando a seguir antes de instalar o CTS Verifier para permitir o acesso a interfaces não SDK.
    adb shell settings put global hidden_api_policy 1
    
    1. Instale o Android Studio.

    2. Baixe o APK do CTS Verifier para a versão do Android que você quer testar.

  2. Conecte o DUT ao computador Linux.

  3. Em um terminal no computador Linux, instale CtsVerifier.apk no DUT:

    adb install -r -g CtsVerifier.apk
    
  4. No Android 10 e versões mais recentes, execute o seguinte comando para conceder permissão ao app para criar o relatório:

    adb shell appops set com.android.cts.verifier android:read_device_identifiers allow
    
  5. Para o Android 11 e versões mais recentes, execute o seguinte comando para permitir que os relatórios sejam salvos em um diretório autodefinido no diretório externo de nível superior do dispositivo:

    adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0
    
  6. No Android 13 e em versões mais recentes, execute o seguinte comando para permitir o acesso à API de teste para o CTS Verifier:

    adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier
    
  7. No Android 14 e em versões mais recentes, execute o seguinte comando para conceder permissão ao app para ativar a tela:

    adb shell appops set com.android.cts.verifier TURN_SCREEN_ON 0
    
  8. Verifique se o DUT tem a data e a hora do sistema definidas corretamente.

Executar o CTS Verifier

Toque no ícone do CTS Verifier no DUT para iniciar o app.

Ícone do CTS Verifier na tela de início

Figura 1. Ícone do CTS Verifier.

O app mostra vários conjuntos de testes disponíveis para verificação manual.

Menu de testes do CTS Verifier

Figura 2. Menu de testes do CTS Verifier.

Cada teste contém um conjunto de elementos comuns na parte de baixo da tela.

Verificador de qualidade de streaming de vídeo

Figura 3. Tela de teste com elementos de teste comuns destacados.

  • Aprovação (✓). Toque se o DUT atender aos requisitos de teste de acordo com as instruções de informações.
  • Informações (?). Toque para mostrar as instruções do teste. Também aparece automaticamente na primeira vez que um teste é aberto.
  • Falha (!). Toque se o DUT não atender aos requisitos do teste de acordo com as instruções de informações.

Alguns testes, como o modo de acessório USB e o teste de calibragem da câmera, exigem configurações e instruções adicionais, conforme detalhado nas seções a seguir.

Testar o modo acessório USB para 8.0 e versões mais recentes

Teste de acessório USB do CTS Verifier

Figura 4. Procedimento de teste de acessório USB para 8.0 e versões mais recentes.

Teste de acessório USB do CTS Verifier

Figura 5. Testando o modo acessório USB para 8.0 e versões mais recentes.

Testar o modo de acessório USB para 7.x e versões anteriores

O teste de acessório USB requer um computador Linux para executar o programa de máquina de mesa USB (host).

  1. Conecte o DUT ao computador Linux.
  2. No computador, execute o programa cts-usb-accessory do pacote CTS Verifier:

    ./cts-usb-accessory
    
  3. Aguarde uma caixa de diálogo aparecer no DUT e toque em OK.

    Teste de acessório USB do CTS Verifier

    Figura 6. Teste de acessório USB

  4. Acesse o teste de acessórios USB no aplicativo CTS Verifier no DUT.

  5. No computador, analise a saída do console. Exemplo de saída:

    CTS USB Accessory Tester
    Found possible Android device (413c:2106) - attempting to switch to accessory
    mode...
    Failed to read protocol versionfigure3
    Found Android device in accessory mode (18d1:2d01)...
    [RECV] Message from Android device #0
    [SENT] Message from Android accessory #0
    [RECV] Message from Android device #1
    [SENT] Message from Android accessory #1
    [RECV] Message from Android device #2
    [SENT] Message from Android accessory #2
    [RECV] Message from Android device #3
    [SENT] Message from Android accessory #3
    [RECV] Message from Android device #4
    [SENT] Message from Android accessory #4
    [RECV] Message from Android device #5
    [SENT] Message from Android accessory #5
    [RECV] Message from Android device #6
    [SENT] Message from Android accessory #6
    [RECV] Message from Android device #7
    [SENT] Message from Android accessory #7
    [RECV] Message from Android device #8
    [SENT] Message from Android accessory #8
    [RECV] Message from Android device #9
    [SENT] Message from Android accessory #9
    [RECV] Message from Android device #10
    [SENT] Message from Android accessory #10
    

Calibrar o campo de visão da câmera

Use o procedimento de calibragem do campo de visão para determinar rapidamente o campo de visão do dispositivo com precisão moderada.

  1. Configure o ambiente de teste:

    1. Imprima o arquivo de destino PDF do padrão de calibragem em papel de tamanho 11" x 17" ou A3.
    2. Monte o padrão impresso em uma base rígida.
    3. Oriente o dispositivo de câmera e o alvo impresso conforme mostrado no diagrama a seguir:

      Alvo impresso da câmera

      Figura 7. Alvo impresso da câmera.

  2. Defina a largura desejada:

    1. Meça a distância (em centímetros) entre as linhas sólidas no padrão de destino para compensar imprecisões de impressão (~38 cm).
    2. Inicie o aplicativo de calibragem.
    3. Pressione o botão de configuração e selecione Distância do marcador.
    4. Meça e insira a distância até o padrão de destino (~100 cm).
    5. Pressione o botão "Voltar" para retornar à prévia da calibragem.
  3. Verifique se o dispositivo e o alvo estão posicionados conforme mostrado na figura e se as distâncias corretas foram inseridas na caixa de diálogo de configuração. A prévia mostra a imagem com uma linha vertical sobreposta. Essa linha precisa estar alinhada com a linha central do padrão desejado. A grade transparente pode ser usada com as outras linhas verticais para verificar se o eixo óptico está ortogonal ao alvo.

  4. Execute o teste de calibragem:

    1. Selecione uma resolução de imagem (usando o seletor na parte de baixo à esquerda) e toque na tela para tirar uma foto. O teste entra no modo de calibragem e mostra a foto com duas linhas verticais sobrepostas à imagem.
    2. Determine a acurácia:
    3. Se as linhas se alinharem com as linhas verticais no padrão de destino em alguns centímetros, o campo de visão informado para a resolução selecionada será preciso.
    4. Se as linhas não se alinharem, o campo de visão informado estará incorreto. Para corrigir isso, ajuste o controle deslizante na parte de baixo da tela até que a sobreposição se alinhe o mais próximo possível ao padrão desejado. Quando a sobreposição e a imagem do padrão de destino estão alinhadas, o campo de visão exibido é uma aproximação do valor correto. O campo de visão informado precisa estar dentro de 2 graus do valor de calibragem.
    5. Pressione o botão voltar e repita o teste de calibragem para todas as resoluções de imagem compatíveis com o DUT.

Executar o CTS Verifier para modos alternativos

A partir das versões CTS 10 R6 e CTS 11 R2, o CTS Verifier é compatível com os testes necessários para dispositivos com modos alternativos ou com mais de um modo de tela.

Na parte de cima da visualização de lista principal do CTS Verifier, um botão é mostrado para permitir que os usuários alternem entre o modo de exibição aberto e fechado. O CTS Verifier vai mostrar os testes necessários para o modo de exibição selecionado. Para executar os modos alternativos no CTS Verifier, mude o botão para o modo de exibição adequado e execute a lista de testes mostrada.

Botão ativar/desativar do CTS-V

Figura 8. Botão de alternância do CTS Verifier.

Os resultados dos testes recolhidos serão registrados no mesmo relatório dos testes abertos. Para identificar cada resultado de teste de que o conjunto de testes é originário, um sufixo é adicionado a cada nome de teste no modo recolhido.

<Test result="fail" name="com.android.cts.verifier.deskclock.DeskClockTestsActivity[folded]">
  <RunHistory subtest="CREATE_ALARM[folded]">
    <Run start="1594176663973" end="1594176665841" isAutomated="false" />
  </RunHistory>
</Test>

Exportar resultados

Depois que todos os testes forem concluídos, você poderá salvar os resultados como um relatório e fazer o download deles para um computador. Os nomes dos relatórios recebem automaticamente um carimbo de data/hora com base no horário do sistema do DUT.

  1. Para salvar os resultados do teste, toque no ícone de salvar (disco) na parte de cima da lista de categorias de teste.

  2. Aguarde uma caixa de diálogo que mostre o caminho para o relatório salvo (por exemplo, /sdcard/verifierReports/ctsVerifierReport-date-time.zip) e registre o caminho.

  3. Conecte o DUT ao computador Linux.

  4. Na instalação do SDK do Android no computador Linux, faça o download dos relatórios do dispositivo conectado usando adb shell content read ou adb pull CTSVerifierReportPath.

    • No Android 7.x e versões mais recentes, faça o download de todos os relatórios usando o seguinte comando:

      adb pull /sdcard/verifierReports
      
    • No Android 6.0 e versões anteriores, baixe todos os relatórios usando o seguinte comando:

      adb pull /mnt/sdcard/ctsVerifierReports/
      
    • No Android 10 e versões mais recentes, implemente o Automotive e dispositivos executados como um usuário secundário. Baixe o relatório mais recente usando o seguinte comando:

      adb shell content read --user <var>CURRENT_USER</var> --uri content://com.android.cts.verifier.testresultsprovider/reports/latest > report.zip
      

      Para listar todos os relatórios disponíveis no dispositivo conectado:

        adb shell content query --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports
        ```
      
      To download a report from the list, you can specify the Row ID or
      filename. For example:
      
      ```shell
        adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports/0 > report.zip
        ```
      
      ```shell
        adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports ctsVerifierReport-date-time.zip > report.zip
        ```
      
  5. Para limpar os resultados de aprovação ou reprovação, selecione-os no app CTS Verifier e escolha Menu > Limpar.