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 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 que possui os seguintes equipamentos:
- Dispositivo Android que verificou a compatibilidade da API do Android ao passar com sucesso 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 uma implementação de emulação de cartão host (HCE) compatível com Bluetooth, Wi-Fi direto e NFC.
- Um roteador Wi-Fi configurado com nome e senha do ponto de acesso. O roteador deve ter a capacidade de se desconectar da Internet, mas não deve ser desligado.
Requisitos UICC para testes NFC
O CTS Verifier tem os seguintes casos de teste NFC:
- Field-off (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 deve ter SecureElement UICC com as seguintes regras de acesso:
- CtsVerifier APK hash: 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 empurre a atividade correspondente para o 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 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 para testar.
Conecte o DUT ao computador Linux.
A partir de um terminal no computador Linux, instale o
CtsVerifier.apk
no DUT.adb install -r -g CtsVerifier.apk
Para Android 10 e superior, execute o comando a seguir 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 superior, 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
Certifique-se de que o DUT tenha os dados e a hora do sistema configurados corretamente.
Executar 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 teste disponíveis para verificação manual.
Figura 2. Menu de testes do Verificador CTS
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
- Passe (✓). Toque se o DUT atender aos requisitos de teste de acordo com as instruções de informações.
- Informações (?). Toque para exibir as instruções de teste. Também aparece automaticamente na primeira vez que um teste é aberto.
- Falha (!). 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 de 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 de acessório USB para 8.0 e superior
Figura 4. Procedimento de teste de acessório USB para 8.0 e superior
Figura 5. Testando o modo de acessório USB para 8.0 e superior
Teste o modo de acessório USB para 7.xe inferior
O teste de acessório USB requer um computador Linux para executar o programa de máquina de 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. Saída de exemplo:
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 do padrão de calibração.pdf em papel 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 da câmera
Defina a largura do alvo:
- 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 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 de 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 se alinhar 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.
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 à imagem.
- Determinar a precisão:
- Se as linhas se alinharem com as linhas verticais no padrão alvo dentro de alguns centímetros, o campo de visão relatado para a resolução selecionada é preciso.
- Se as linhas não estiverem alinhadas, o campo de visão relatado é 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 de destino estão alinhadas, o campo de visão exibido é uma 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 suporta os 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 alternar 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 com os testes desdobrados. Para identificar cada resultado de teste do qual o conjunto de teste é, 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ê pode salvar os resultados como um relatório e baixá-los em um computador. Os nomes dos relatórios são automaticamente carimbados com base na hora do sistema DUT.
Para salvar os resultados do teste, toque no ícone salvar (disco) na parte superior 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 inferior, 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 , 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 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 aprovados/reprovados, selecione os resultados no aplicativo CTS Verifier e selecione Menu > Limpar .