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:
- Abra "Configurações".
- Navegue até Sistema > Gesto > Navegação do sistema.
- 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:
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.
Conecte o DUT ao computador Linux.
Em um terminal no computador Linux, instale o
CtsVerifier.apk
no DUT.adb install -r -g CtsVerifier.apk
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
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
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
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
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.
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
- 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
Figura 4. Procedimento de teste de acessório USB para 8.0 e versões mais recentes
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.
- 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ório 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 calibração 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 alvo calibration-pattern.pdf em papel de tamanho 11 x 17 pol ou A3.
- Monte o padrão impresso em um apoio 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 considerar as imprecisões de impressão (cerca de 38 cm).
- Inicie o aplicativo de calibração.
- 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 (cerca de 100 cm).
- Pressione o botão "Voltar" para retornar à visualização da calibração.
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.
Faça o teste de calibração:
- 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.
- 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.
- 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.
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.
Para salvar os resultados do teste, toque no ícone de salvamento (disco) na parte de cima da lista de categorias de teste.
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.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 read
ouadb 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
Para limpar os resultados de aprovação/reprovação, selecione os resultados no app CTS Verifier e selecione Menu > Limpar.