Esta página contém instruções para usar testes multidispositivo do CTS Verifier (CTS-V) para o Android 16 e versões mais recentes.
Configurar testes multidispositivos do lado do host
Esta seção explica como configurar testes em vários dispositivos.
- Verifique se a máquina de mesa atende aos requisitos do sistema operacional para CTS.
- Siga as etapas 2 e 5 de Instalar o software de computador para garantir que o adb, o AAPT2 e o Python estejam instalados corretamente no computador.
Prepare dois dispositivos correspondentes em teste (DUTs), cada um com a CTS-V configurada.
- Para informações sobre como configurar um DUT, consulte Configurar o DUT.
- Para instruções sobre como configurar o CTS-V, consulte Configuração.
Se você estiver testando um módulo diferente do NFC, siga as instruções em Configurar testes padrão com dois dispositivos.
- Para testes de NFC, siga as instruções em Configurar testes de NFC.
Se você estiver testando o módulo CDM, siga as instruções em Configurar testes de CDM, além da configuração padrão de dois dispositivos.
Configurar testes padrão com dois dispositivos
Para a configuração padrão de dois dispositivos:
- Coloque duas DUTs do Android correspondentes a uma distância de aproximadamente 20 cm.
Para garantir um ambiente limpo, coloque os dois dispositivos em uma caixa de proteção.
(Opcional) Configure um sniffer OTA para depuração de Wi-Fi.
Configurar testes de NFC
Os testes de NFC usam um DUT e um chip PN532 NFC.
Para configurar testes de NFC:
- Compre um chip NFC PN532. Recomendamos o All-In-One PN532.
No DUT, navegue até o app Configurações.
Ative a NFC.
Posicione o chip NFC:
Para smartphones, posicione o leitor de NFC do DUT conforme mostrado na Figura 1:
Figura 1. Posicionamento do chip de NFC.
Para outros tipos de dispositivo, posicione o chip ao lado da antena NFC do dispositivo.
Conecte o chip PN532 NFC à estação de trabalho de teste usando um cabo USB.
Configurar testes de CDM
O caso de teste test_permissions_sync()
tem um comportamento diferente, dependendo do
tipo de build dos dispositivos em que o teste é executado. É fundamental que
ambos os builds debugáveis (userdebug ou eng) e não debugáveis (user) sejam
testados pelos OEMs e que os testes sejam aprovados para ambos.
Isenção
A cláusula CDD para a implementação da API de sincronização de permissões exige apenas que ela possa transferir dados entre dispositivos por um canal seguro. Como a implementação de canal seguro não é um requisito de conformidade com o CDD, esse teste pode ser pulado em builds não depuráveis (do usuário), mas apenas se você quiser desativar o suporte ao recurso de sincronização de permissões do CDM.
Os testes precisam ser bem-sucedidos em builds depuráveis, sem exceções.
Pré-requisitos para testar em builds não depuráveis
Se você não estiver isento pelas cláusulas de isenção anteriores, verifique se os seguintes pré-requisitos foram atendidos.
O canal seguro usa o AVF (AttestationVerificationFramework
) para verificar a
confiabilidade do hardware. As declarações geradas por ambas as partes contêm
várias informações sobre elas mesmas para garantir que não houve
nenhuma alteração não autorizada no sistema. A AVF verifica os seguintes estados
durante o processo de verificação:
- O dispositivo tem acesso à Internet
- O dispositivo usa inicialização verificada, e o build precisa ser assinado com uma chave de lançamento, não uma chave de desenvolvimento.
- O dispositivo está bloqueado pelo carregador de inicialização. Para instruções detalhadas, consulte Como bloquear o carregador de inicialização.
- Os níveis de patch do SO, do boot de chave e do fornecedor de chaves estão dentro de 12 meses. Não use uma build com mais de um ano.
O atestado do dispositivo é respaldado por um dos certificados raiz aprovados pelo fornecedor. Especifique seus certificados raiz confiáveis na sobreposição de recursos
vendor_required_attestation_certificates.xml
.
Executar testes multidispositivos no host (AOSP 16 ou mais recente)
O CTS Verifier 16 apresenta o suporte a testes multidispositivos do lado do host. Esses testes podem ser executados usando scripts automatizados no host, em vez da operação de teste manual no dispositivo. Depois que cada teste é concluído, os resultados são enviados automaticamente para o DUT e exibidos no app CTS Verifier.
Esta seção explica como executar os testes multidispositivos do host.
Executar testes em vários dispositivos
Para executar um teste em vários dispositivos:
Na estação de trabalho de teste, inicie o console
cts-v-host
no diretório em que o pacote compactado CTS-V foi descompactado:./android-cts-verifier/android-cts-v-host/tools/cts-v-host-tradefed
No app CTS Verifier no DUT, clique em Testes no host. A Figura 2 mostra os testes do lado do host no app CTS Verifier:
Figura 2. Testes multidispositivo do lado do host no app CTS Verifier.
Uma lista de módulos de teste multidispositivo do host de teste é exibida.
Identifique o nome do módulo de teste que você quer executar. Por exemplo, o módulo CompanionDeviceManager é listado como CtsCompanionDeviceManagerMultiDeviceTestCases.
No console cts-v-host, execute o comando a seguir: Observação: se você tocar em um módulo do host no app CTS Verifier, não vai aparecer uma lista de casos de teste individuais. Em vez disso, a interface é preenchida automaticamente com os resultados do caso de teste depois que o módulo é executado no host.
No console do xTS, execute o seguinte comando:
run cts-v-host -m test_module_name
Exemplo:
run cts-v-host -m CtsCompanionDeviceManagerMultiDeviceTestCases
Depois que o console do xTS terminar de executar os testes, os resultados vão aparecer no app CTS Verifier. Os testes marcados em verde foram aprovados. Os testes marcados em vermelho falharam. A Figura 3 mostra exemplos de resultados para os testes do CtsCompanionDeviceManager:
Figura 3. Resultados de testes multidispositivos no lado do host no app CTS Verifier.
Resolver problemas de testes em vários dispositivos
Esta seção oferece ajuda para resolver possíveis problemas.
Correção de "Nenhuma resposta" para GetFirmwareVersion durante testes de NFC
Se você receber a mensagem verify_firmware_version RuntimeError: No response
for GetFirmwareVersion
ao executar os testes em vários dispositivos, os testes
não poderão acessar a placa PN532 NFC.
Para corrigir esse problema, identifique o caminho serial usado pela placa NFC PN532 no
host, como dev/ttyUSB1
, e especifique-o manualmente usando o
argumento --module-arg
no console:
run cts-v-host -m CtsNfcHceMultiDeviceTestCases --module-arg CtsNfcHceMultiDeviceTestCases:pn532_serial_path:/dev/ttyUSB1
Corrigir a mensagem de erro "Transação com falha" durante os testes de NFC
Se você receber a mensagem Transaction failed, check device logs for more
information.
para todos os casos de teste de NFC, provavelmente é porque o chip NFC do DUT
não consegue detectar o PN532.
Se você tiver vários dispositivos conectados ao host e alguns deles não tiverem um PN532 colocado na parte de cima, talvez a DUT errada tenha sido selecionada. Para mais informações, consulte Configurar testes de NFC.
Para corrigir esse problema, faça uma das seguintes ações:
Defina o número de série correto do DUT no comando de teste do host usando a flag
-s
.Desconecte todos os dispositivos que não são DUT do host.
O caso de teste do CDM test_permissions_sync
é ignorado
Se o teste estiver sendo executado em dispositivos não depuráveis, verifique se você está isento. Caso contrário, verifique se os dois dispositivos atendem aos pré-requisitos.