Executar testes de vários dispositivos do CTS Verifier

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.

  1. Verifique se a máquina de mesa atende aos requisitos do sistema operacional para CTS.
  2. 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.
  3. 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.
  4. Se você estiver testando um módulo diferente do NFC, siga as instruções em Configurar testes padrão com dois dispositivos.

  5. 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:

  1. Coloque duas DUTs do Android correspondentes a uma distância de aproximadamente 20 cm.
  2. Para garantir um ambiente limpo, coloque os dois dispositivos em uma caixa de proteção.

  3. (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:

  1. Compre um chip NFC PN532. Recomendamos o All-In-One PN532.
  2. No DUT, navegue até o app Configurações.

  3. Ative a NFC.

  4. Posicione o chip NFC:

    • Para smartphones, posicione o leitor de NFC do DUT conforme mostrado na Figura 1:

      Posicionamento do chip de NFC

      Figura 1. Posicionamento do chip de NFC.

    • Para outros tipos de dispositivo, posicione o chip ao lado da antena NFC do dispositivo.

  5. 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:

  1. 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
    
  2. 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:

    Testes multidispositivos 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.

  3. Identifique o nome do módulo de teste que você quer executar. Por exemplo, o módulo CompanionDeviceManager é listado como CtsCompanionDeviceManagerMultiDeviceTestCases.

  4. 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.

  5. 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:

    Resultados do teste multidispositivo do lado do host no app CTS Verifier

    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.