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 tem compatibilidade verificada com a API Android ao passar no CTS. Esse é 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, mas não pode 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 do UICC para testes de NFC

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

  • Desligamento do 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:

    • 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
      
    • Instale o Android Studio.

    • 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 permitir que o app crie o relatório.

    adb shell appops set com.android.cts.verifier android:read_device_identifiers allow
    
  5. No 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 do 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 dar permissão ao app de 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 verificador do CTS no DUT para iniciar o aplicativo.

Í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 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. Testar o modo de 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 mensagem pop-up aparecer no DUT e selecione 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 calibration-pattern.pdf em papel de 11 x 17 polegadas ou tamanho A3.
    2. Monte o padrão impresso em um suporte rígido.
    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 destino 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 garantir que o eixo óptico esteja 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:
      • 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.
      • Se as linhas não estiverem alinhadas, 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.
    3. 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 no 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 combinados serão registrados no mesmo relatório dos testes descombinados. 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 um carimbo de data/hora automático 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 mensagem pop-up que mostre o caminho do arquivo do 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, baixe 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 CURRENT_USER --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
      

      Para baixar um relatório da lista, especifique o ID da linha ou o nome do arquivo. Exemplo:

      adb shell content read --user CURRENT_USER --uri
      
      content://com.android.cts.verifier.testresultsprovider/reports/0 > report.zip
      
      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/reprovação, selecione-os no app CTS Verifier e escolha Menu > Limpar.