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:
- Abrir configurações.
- Navegue até Sistema > Gesto > 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 CTS Verifier:
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.
Conecte o DUT ao computador Linux.
Em um terminal no computador Linux, instale
CtsVerifier.apk
no DUT.adb install -r -g CtsVerifier.apk
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
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
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
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
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.
Figura 1. Ícone do verificador CTS
O aplicativo exibe 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 inferior da tela.
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
Figura 4. Procedimento de teste de acessório USB para versão 8.0 e superior
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).
- Conecte o DUT ao computador Linux.
No computador, execute o programa
cts-usb-accessory
do pacote CTS Verifier:./cts-usb-accessory
Aguarde até que uma mensagem pop-up apareça no DUT e selecione OK .
Figura 6. Teste de acessório USB
Vá para o Teste de acessório USB no aplicativo CTS Verifier no DUT.
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.
Configure o ambiente de teste:
- Imprima o arquivo de destino Calibration-pattern.pdf em papel de tamanho 11” x 17” ou A3.
- Monte o padrão impresso em um suporte rígido.
Oriente o dispositivo da câmera e o alvo impresso conforme mostrado no diagrama a seguir.
Figura 7. Alvo impresso pela câmera
Defina a largura alvo:
- 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 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 alvo (~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 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.
Execute 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 exibe a foto com duas linhas verticais sobrepostas na imagem.
- 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.
- 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.
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.
Para salvar os resultados do seu teste, toque no ícone salvar (disco) no topo da lista de categorias de teste.
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.Conecte o DUT ao computador Linux.
Na instalação do Android SDK no computador Linux, baixe relatórios do dispositivo conectado usando
adb shell content read
ouadb 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
Para limpar os resultados de aprovação/reprovação, selecione os resultados no aplicativo CTS Verifier e selecione Menu > Limpar .