Como usar o CTS Verifier

O Verificador do conjunto de teste de compatibilidade do Android (CTS Verifier) complementa o Conjunto de teste de compatibilidade (CTS). Enquanto o CTS verifica APIs e funções que podem ser automatizadas, o CTS Verifier 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 touchscreen, acelerômetro e câmera.

Requisitos

Antes de executar o verificador do CTS, verifique se você tem os seguintes equipamentos:

  • Dispositivo Android que verificou a compatibilidade com a API do Android ao ser aprovado no CTS. 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 de Bluetooth, Wi-Fi Direct, Wi-Fi Aware, UWB (se o DUT oferecer suporte a UWB) e emulação de cartão host NFC (HCE, na sigla em inglês).
  • Um roteador Wi-Fi configurado com o nome e a senha do ponto de acesso. O roteador precisa ser capaz de se desconectar da Internet, mas não de ser desligado.

Prepare também os tripés, os suportes de dispositivo e as 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 NFC:

  • Campo desativado (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 o SecureElement UICC 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 lado do emulador, esperamos que o evento de transação envie a atividade correspondente para o primeiro plano.

Configurar

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

  1. Abra "Configurações".
  2. Navegue até Sistema > Gesto > Navegação do sistema.
  3. Selecione qualquer modo de navegação baseado em botão, preferencialmente o modo de três botões, se disponível.

Para configurar o ambiente de teste do CTS Verifier:

  1. No computador Linux:

    • Execute o comando abaixo antes de instalar o CTS Verifier para permitir o acesso a interfaces que não são do SDK.

      adb shell settings put global hidden_api_policy 1
      
    • Instale o Android Studio.

    • Faça o download do APK Verifier do CTS para a versão do Android a ser testada.

  2. Conecte o DUT ao computador Linux.

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

    adb install -r -g CtsVerifier.apk
    
  4. No Android 10 e versões mais recentes, execute o comando abaixo 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. No Android 11 e versões mais recentes, execute o comando a seguir 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 versões mais recentes, execute o seguinte comando para permitir o acesso de teste à API para o CTS Verifier.

    adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier
    
  7. No Android 14 e versões mais recentes, execute o comando abaixo para permitir que o app ligue a tela.

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

Executar o CTS Verifier

Inicie o aplicativo CTS Verifier tocando no ícone CTS Verifier no DUT.

Í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

  • Pass (✓): toque se o DUT atender aos requisitos do 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 calibração da câmera, exigem mais configurações e instruções de teste, conforme detalhado nas seções a seguir.

Testar o modo de acessório USB para o Android 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. Como testar o modo de acessório USB para o Android 8.0 e versões mais recentes

Teste 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 computador de mesa (host) USB.

  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ório 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 calibração 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 alvo calibration-pattern.pdf em papel de tamanho 11 x 17 pol ou A3.
    2. Monte o padrão impresso em um apoio 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 considerar as imprecisões de impressão (cerca de 38 cm).
    2. Inicie o aplicativo de calibração.
    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 (cerca de 100 cm).
    5. Pressione o botão "Voltar" para retornar à visualização da calibração.
  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 visualização mostra a imagem com uma linha vertical sobreposta. Essa linha precisa estar alinhada com a linha central do padrão de destino. A grade transparente pode ser usada com as outras linhas verticais para garantir que o eixo óptico seja ortogonal ao alvo.

  4. Faça o teste de calibração:

    1. Selecione uma resolução de imagem (usando o seletor no canto inferior esquerdo) e toque na tela para tirar uma foto. O teste entra no modo de calibração e mostra a foto com duas linhas verticais sobrepostas à imagem.
    2. Determinar 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 será impreciso. Para corrigir isso, ajuste o controle deslizante na parte de baixo da tela até que a sobreposição se alinhe ao padrão de destino o mais próximo possível. Quando a sobreposição e a imagem do padrão de destino estão alinhadas, o campo de visão exibido é uma aproximação próxima 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 calibração 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 oferece suporte aos 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 dobrado. O CTS Verifier vai mostrar os testes necessários para o modo de exibição selecionado. Para executar os modos alternativos no CTS Verifier, é necessário mudar o botão para o modo de exibição adequado e executar a lista de testes exibidos.

Botão de ativação/desativação do CTS-V

Os resultados dos testes dobrados serão registrados no mesmo relatório com os testes abertos. Para identificar cada resultado de teste de onde o conjunto de testes é, um sufixo é adicionado a cada nome de teste no modo dobrado.

<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 em um computador. Os nomes dos relatórios são marcados com carimbos de data/hora automaticamente com base no horário do sistema do DUT.

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

  2. Aguarde uma mensagem pop-up que mostra o caminho do arquivo 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 de relatórios do dispositivo conectado usando adb shell content read ou adb pull CTSVerifierReportPath.

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

      adb pull /sdcard/verifierReports
      
    • Para o Android 6.0 e versões anteriores, faça o download de todos os relatórios usando este comando:

      adb pull /mnt/sdcard/ctsVerifierReports/
      
    • Para o Android 10 e versões mais recentes, implemente dispositivos automotivos e dispositivos executados como um usuário secundário, faça o download do 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 fazer o download de 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 resultados no app CTS Verifier e selecione Menu > Limpar.