Realizar testes de NFC em vários dispositivos

Este documento explica como executar testes de NFC em vários dispositivos.

Cumpra os pré-requisitos

Antes de executar testes de NFC em vários dispositivos, faça o seguinte:

  1. Prepare um dispositivo com a implementação do Android 15.
  2. Siga os requisitos do CTS-V.
  3. Siga a configuração do CTS-V.

Preparar um DUT e um leitor PN532 NFC para o teste

Depois de concluir as etapas anteriores, siga estas etapas para executar e preparar um DUT e um leitor NFC PN532 para o teste:

  1. Conecte o DUT a uma máquina host por USB.
  2. Conceda permissões ao host para acessar o DUT pelo adb.
  3. Instale o app CTS Verifier (CtsVerifier.apk) no DUT:

    extract root/out/host/linux-x86/cts-verifier/android-cts-verifier.zip
    
    cd android-cts-verifier
    
    adb install -r -g CtsVerifier.apk
    
  4. Instale os APKs necessários para teste de NFC:

    cd MultiDevice
    
    adb install -r -g NfcEmulatorTestApp.apk
    

Configurar a NFC para o DUT

Siga estas etapas para configurar a NFC para o DUT:

  1. No DUT, acesse o menu Configurações.
  2. Procure a seção NFC ou Dispositivos conectados.
  3. Verifique se a chave de NFC está ativada.
  4. Posicione um chip de NFC no leitor de NFC do smartphone:

    1. Adquira um chip NFC PN532. Recomendamos a opção All-In-One PN532 sem BLE.
    2. Conecte o chip PN532 NFC ao host do Linux usando um cabo USB.
    3. Coloque o chip PN532 NFC sobre o leitor de NFC do smartphone, conforme mostrado na imagem a seguir:

    Posicionamento do chip de NFC

    Figura 1. Posicionamento do chip NFC.

Configurar o ambiente de teste

Siga estas etapas para configurar o ambiente de teste:

  1. Execute estes comandos para configurar o ambiente de teste:

    cd MultiDevice
    
    source build/envsetup.sh
    

    Esse comando verifica o Python e configura a variável de ambiente PYTHONPATH. Se nenhum erro for impresso no terminal, o ambiente estará pronto para executar os testes em vários dispositivos.

    Se a mensagem de erro libtinfo.so.6: no version information available (required by /bin/sh) aparecer durante a execução, execute o seguinte comando para renomear o arquivo libtinfo.so.6:

    mv $ENV_DIRECTORY/lib/libtinfo.so.6 $ENV_DIRECTORY/lib/libtinfo.so.6.bak
    
  2. Configure o ambiente de teste definindo os IDs de série do dispositivo do DUT e do leitor NFC PN532 em MultiDevice/config.yml:

    TestBeds:
      - Name: CtsNfcHceMultiDeviceTestCases-py-ctsv
        Controllers:
          AndroidDevice:
            - serial: "<device-id>"
        TestParams:
          pn532_serial_path: "<pn532-serial-path>"
    

Executar os testes de NFC

Para executar os testes de NFC:

  1. Abra o app CTS-V e toque em Testes de NFC:

    O app CTS-V

    Figura 2. O app CTS-V.

    A janela de informações com uma lista de casos de teste é exibida:

    Os casos de teste do app CTS-V

    Figura 3. Casos de teste de apps CTS-V.

  2. Execute os testes no host:

    MultiDevice$ python3 tools/run_all_tests.py
    

    Quando os testes são concluídos, os resultados são atualizados no app CTS-V. Os testes bem-sucedidos ficam em verde:

    Resultados do teste CTS-V

    Figura 4. Resultados do teste CTS-V.

  3. Se você encontrar falhas marcadas em vermelho, use o seguinte comando para executar novamente os testes com falha:

    python3 tools/run_all_tests.py --test_cases "`TestCaseA`" "`TestCaseB`" --test_files "`TestFileA`"
    

    Em que:

    • TestCaseA e TestCaseB são os nomes dos casos de teste, conforme mostrado em CTS-V.
    • TestFileA é o arquivo de teste que contém os casos de teste.

    Exemplo:

    python3 tools/run_all_tests.py --test_cases "test_conflicting_non_payment" "test_conflicting_non_payment_prefix" --test_files "CtsNfcHceMultiDeviceTestCases-py-ctsv"