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:
- Abra "Configurações".
- Acesse Sistema > Gesto > Navegação no sistema.
- 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:
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.
Conecte o DUT ao computador Linux.
Em um terminal no computador Linux, instale
CtsVerifier.apk
no DUT.adb install -r -g CtsVerifier.apk
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
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
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
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
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.
Figura 1. Ícone do CTS Verifier
O app mostra vários conjuntos de testes disponíveis para verificação manual.
Figura 2. Menu de testes do CTS Verifier
Cada teste contém um conjunto de elementos comuns na parte de baixo da tela.
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
Figura 4. Procedimento de teste de acessório USB para 8.0 e versões mais recentes
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).
- Conecte o DUT ao computador Linux.
No computador, execute o programa
cts-usb-accessory
do pacote CTS Verifier:./cts-usb-accessory
Aguarde uma mensagem pop-up aparecer no DUT e selecione OK.
Figura 6. Teste de acessório USB
Acesse o teste de acessórios USB no aplicativo CTS Verifier 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 calibration-pattern.pdf em papel de 11 x 17 polegadas ou tamanho A3.
- Monte o padrão impresso em um suporte rígido.
Oriente o dispositivo de câmera e o alvo impresso conforme mostrado no diagrama a seguir.
Figura 7. Alvo impresso da câmera
Defina a largura desejada:
- 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).
- 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 à prévia da 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 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.
Execute o teste de calibragem:
- 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.
- 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.
- 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.
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.
Para salvar os resultados do teste, toque no ícone de salvar (disco) na parte de cima da lista de categorias de teste.
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.Conecte o DUT ao computador Linux.
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
ouadb 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
Para limpar os resultados de aprovação/reprovação, selecione-os no app CTS Verifier e escolha Menu > Limpar.