Usando o verificador CTS

O Android Compatibility Test Suite Verifier (CTS Verifier) ​​complementa o Compatibility Test Suite (CTS). Enquanto o CTS verifica APIs e funções que podem ser automatizadas, o CTS Verifier fornece testes para APIs e funções que não podem ser testadas em um dispositivo estacionário 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, certifique-se de possuir o seguinte equipamento:

  • Dispositivo Android que verificou a compatibilidade da API Android ao passar no CTS. Este é o dispositivo em teste (DUT).
  • Computador Linux com porta compatível com USB 2.0. Todas as conexões com o DUT passam por esta porta.
  • Segundo dispositivo Android com Bluetooth compatível conhecido, Wi-Fi direct, Wi-Fi Aware, UWB (se o DUT suportar UWB) e implementação de emulação de cartão host NFC (HCE).
  • Um roteador Wi-Fi configurado com nome e senha do ponto de acesso. O roteador deve ser capaz de se desconectar da Internet, mas não desligado.

Certifique-se de preparar 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 obter detalhes, consulte Calibração de presença .

Requisitos UICC para testes NFC

O CTS Verifier possui os seguintes casos de teste NFC:

  • Field-off (usa dados de transação de 0x54)
  • Desmarque (usa dados de transação de 0x52)
  • Comando HCI (0025000000) (usa dados de transação de 0x02)

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

  • Hash do APK 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 coloque a atividade correspondente em primeiro plano.

Configurar

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

  1. Abrir configurações.
  2. Navegue até Sistema > Gesto > Navegação do sistema .
  3. Selecione qualquer modo de navegação baseado em botões, 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 seguinte comando antes de instalar o CTS Verifier para permitir acesso a interfaces não SDK.

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

    • Baixe o APK CTS Verifier para a versão do Android 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. Para Android 10 e superior, execute o seguinte comando para dar permissão ao aplicativo para criar o relatório.

    adb shell appops set com.android.cts.verifier android:read_device_identifiers allow
    
  5. Para Android 11 e versões posteriores, 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. Para Android 13 e versões posteriores, execute o comando a seguir 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. Para Android 14 e superior, execute o seguinte comando para dar permissão ao aplicativo para ligar a tela.

    adb shell appops set com.android.cts.verifier TURN_SCREEN_ON 0
    
  8. Certifique-se de que o DUT tenha a data e a hora do sistema definidas corretamente.

Execute o verificador CTS

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

Ícone do verificador CTS no inicializador

Figura 1. Ícone do verificador CTS

O aplicativo exibe 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 inferior da tela.

Verificador de qualidade de streaming de vídeo

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

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

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

Teste o modo acessório USB para 8.0 e superior

Teste de acessório USB do verificador CTS

Figura 4. Procedimento de teste de acessório USB para versão 8.0 e superior

Teste de acessório USB do verificador CTS

Figura 5. Testando o modo acessório USB para 8.0 e superior

Teste o modo acessório USB para 7.xe inferior

O teste de acessório USB requer um computador Linux para executar o programa da máquina desktop 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 até que uma mensagem pop-up apareça no DUT e selecione OK .
    Teste de acessório USB do verificador CTS

    Figura 6. Teste de acessório USB

  4. Vá para o Teste de acessório USB no aplicativo CTS Verifier no DUT.

  5. No computador, revise 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 destino Calibration-pattern.pdf em papel de tamanho 11” x 17” ou A3.
    2. Monte o padrão impresso em um suporte rígido.
    3. Oriente o dispositivo da câmera e o alvo impresso conforme mostrado no diagrama a seguir.
      Alvo impresso pela câmera

      Figura 7. Alvo impresso pela câmera

  2. Defina a largura alvo:

    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 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 alvo (~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 exibe a imagem com uma linha vertical sobreposta; esta linha deve estar alinhada com a linha central do padrão alvo. A grade transparente pode ser usada com as outras linhas verticais para garantir que o eixo óptico seja ortogonal ao alvo.

  4. Execute 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 exibe a foto com duas linhas verticais sobrepostas na imagem.
    2. Determinar a precisão:
      • Se as linhas se alinharem com as linhas verticais no padrão de destino dentro de alguns centímetros, o campo de visão relatado para a resolução selecionada será preciso.
      • Se as linhas não estiverem alinhadas, o campo de visão relatado será impreciso. Para corrigir isso, ajuste o controle deslizante na parte inferior da tela até que a sobreposição se alinhe com o padrão de destino o mais próximo possível. Quando a sobreposição e a imagem do padrão alvo estão alinhadas, o campo de visão exibido é uma grande aproximação do valor correto. O campo de visão relatado deve estar dentro de +/-2 graus do valor de calibração.
    3. Pressione o botão Voltar e repita o teste de calibração para todas as resoluções de imagem suportadas pelo DUT.

Execute 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 para dispositivos com mais de um modo de tela.

Na parte superior da visualização da lista principal no CTS Verifier, um botão é mostrado para permitir que os usuários alternem entre o modo de exibição desdobrado e dobrado. O CTS Verifier mostrará os testes necessários para o modo de exibição selecionado. Para executar os modos alternativos no CTS Verifier, deve-se mudar o botão para o modo de exibição apropriado e executar a lista de testes mostrada.

Chave seletora CTS-V

Os resultados dos testes dobrados serão registrados no mesmo relatório dos testes desdobrados. Para identificar cada resultado de teste do qual o conjunto de teste provém, 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

Após a conclusão de todos os testes, você poderá salvar os resultados como um relatório e baixá-los para um computador. Os nomes dos relatórios são marcados automaticamente com base na hora do sistema DUT.

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

  2. Aguarde uma mensagem pop-up que exiba 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 Android SDK no computador Linux, baixe relatórios do dispositivo conectado usando adb shell content read ou adb pull CTSVerifierReportPath .

    • Para Android 7.xe superior, baixe todos os relatórios usando o seguinte comando:

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

      adb pull /mnt/sdcard/ctsVerifierReports/
      
    • Para Android 10 e superior, implementando Automotive e dispositivos executados como 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 fazer download de um relatório da lista, você pode especificar o ID da linha ou o nome do arquivo. Por 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 aplicativo CTS Verifier e selecione Menu > Limpar .