O Verificador do conjunto de teste de compatibilidade (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 touch, acelerômetro e câmera.
Requisitos
Antes de executar o Verificador do CTS, verifique se você tem o seguinte equipamento:
- Dispositivo Android que tenha a compatibilidade da API Android verificada ao passar no CTS. Esse é o dispositivo em teste (DUT).
- 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 tiver suporte a UWB) e emulação de cartão host (HCE) NFC compatível.
- 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, os suportes de dispositivos 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 de UICC para testes de NFC
O Verificador do CTS tem os seguintes casos de teste de NFC:
- Desligamento de campo (usa dados de transação de 0x54)
- Desseleção (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, na sigla em inglês) para acesso a eventos de NFC: 0xA000000476416E64726F696443545341
No lado do 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 de três botões da seguinte maneira:
- Abra "Ajustes".
- Navegue até Sistema > Gestos > Navegação do sistema.
- 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 Verificador do CTS:
No computador Linux:
- Execute o comando a seguir antes de instalar o Verificador do CTS para permitir o acesso a interfaces não SDK.
adb shell settings put global hidden_api_policy 1Instale o Android Studio.
Faça o download do APK do Verificador do CTS para a versão do Android a ser testada.
Conecte o DUT ao computador Linux.
Em um terminal no computador Linux, instale
CtsVerifier.apkno DUT:adb install -r -g CtsVerifier.apkNo Android 10 e versões mais recentes, execute o comando a seguir para conceder permissão ao app para criar o relatório:
adb shell appops set com.android.cts.verifier android:read_device_identifiers allowNo Android 11 e versões mais recentes, execute o comando a seguir para permitir que os relatórios sejam salvos em um diretório auto-definido no diretório de nível superior externo do dispositivo:
adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0No Android 13 e versões mais recentes, execute o comando a seguir para permitir o acesso à API de teste para o Verificador do CTS:
adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifierNo Android 14 e versões mais recentes, execute o comando a seguir para conceder permissão ao app para ativar a tela:
adb shell appops set com.android.cts.verifier TURN_SCREEN_ON 0Verifique se a data e a hora do sistema estão definidas corretamente no DUT.
Executar o Verificador do CTS
Inicie o app Verificador do CTS tocando no ícone dele no DUT.
Figura 1. Ícone do Verificador do CTS.
O app mostra vários conjuntos de testes disponíveis para verificação manual.
Figura 2. Menu de testes do Verificador do CTS.
Cada teste contém um conjunto de elementos comuns na parte de baixo da tela.
Figura 3. Tela de teste com elementos de teste comuns destacados.
- Aprovar (✓). 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.
- Reprovar (!). 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ção e instruções adicionais, conforme detalhado nas seções a seguir.
Testar o modo de acessório USB para 8.0 e versões mais recentes
Figura 4. Procedimento de teste de acessório USB para 8.0 e versões mais recentes.
Figura 5. Teste do 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 exige que um computador Linux execute o programa de máquina de desktop USB (host).
- Conecte o DUT ao computador Linux.
No computador, execute o programa
cts-usb-accessorydo pacote do Verificador do CTS:./cts-usb-accessoryAguarde a exibição de uma caixa de diálogo no DUT e toque em OK.
Figura 6. Teste de acessório USB
Acesse o teste de acessório USB no aplicativo Verificador do CTS no DUT.
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.
Configure o ambiente de teste:
- Imprima o arquivo de destino PDF do padrão de calibragem em papel de 11" x 17" ou tamanho A3.
- Monte o padrão impresso em um suporte rígido.
Oriente o dispositivo da câmera e o destino impresso conforme mostrado no diagrama a seguir:
Figura 7. Destino impresso da câmera.
Defina a largura do destino:
- Meça a distância (em centímetros) entre as linhas sólidas no padrão de destino para contabilizar imprecisões de impressão (~38 cm).
- Inicie o aplicativo de calibragem.
- Pressione o botão de configuração e selecione Distância do marcador.
- Meça e insira a distância até o padrão de destino (~100 cm).
- Pressione o botão "Voltar" para retornar à visualização de calibragem.
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 visualização mostra a imagem com uma linha vertical sobreposta a ela. 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 verificar se o eixo óptico é ortogonal ao destino.
Execute o teste de calibragem:
- 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 calibragem e mostra a foto com duas linhas verticais sobrepostas à imagem.
- Determine a precisão:
- Se as linhas estiverem alinhadas 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 esteja o mais alinhada possível com o padrão de destino. Quando a sobreposição e a imagem do padrão de destino estiverem alinhadas, o campo de visão mostrado será uma aproximação do valor correto. O campo de visão informado precisa estar dentro de 3 graus do valor de calibragem.
- Pressione o botão Voltar e repita o teste de calibragem para todas as resoluções de imagem com suporte no DUT.
Executar o Verificador do CTS para modos alternativos
A partir das versões CTS 10 R6 e CTS 11 R2, o Verificador do CTS oferece suporte aos testes necessários para dispositivos com modos alternativos ou para dispositivos com mais de um modo de tela.
Na parte de cima da visualização da lista principal no Verificador do CTS, um botão é mostrado para permitir que os usuários alternem entre o modo de exibição desdobrado e dobrado. O Verificador do CTS vai mostrar os testes necessários para o modo de exibição selecionado. Para executar os modos alternativos no Verificador do CTS, é necessário mudar o botão para o modo de exibição apropriado e executar a lista de testes mostrada.
Figura 8. Botão de alternância do Verificador do CTS.
Os resultados dos testes dobrados serão registrados no mesmo relatório dos testes desdobrados. Para identificar cada resultado de teste do conjunto de testes, um sufixo é adicionado a cada nome de teste no modo fechado.
<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 são automaticamente marcados com carimbo de data/hora com base na hora do sistema DUT.
Para salvar os resultados do teste, toque no ícone de salvar (disco) na parte de cima da lista de categorias de teste.
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.Conecte o DUT ao computador Linux.
Na instalação do SDK do Android no computador Linux, faça o download de relatórios do dispositivo conectado usando
adb shell content readouadb pull CTSVerifierReportPath.No Android 7.x e versões mais recentes, faça o download de todos os relatórios usando o comando a seguir:
adb pull /sdcard/verifierReportsNo Android 6.0 e versões anteriores, faça o download de todos os relatórios usando o comando a seguir:
adb pull /mnt/sdcard/ctsVerifierReports/No Android 10 e versões mais recentes, implementando o Automotive e dispositivos executados como um usuário secundário, faça o download do relatório mais recente usando o comando a seguir:
adb shell content read --user <var>CURRENT_USER</var> --uri content://com.android.cts.verifier.testresultsprovider/reports/latest > report.zipPara 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 ```
Para limpar os resultados de aprovação ou reprovação, selecione os resultados no app Verificador do CTS e selecione Menu > Limpar.