Eseguire test NFC su più dispositivi (Android 15)

Questo documento spiega come eseguire test NFC su più dispositivi.

Soddisfare i prerequisiti

Prima di eseguire i test NFC su più dispositivi, procedi nel seguente modo:

  1. Prepara un dispositivo con l'implementazione di Android 15.
  2. Segui i requisiti del CTS-V.
  3. Segui la configurazione di CTS-V.

Prepara un DUT e un lettore NFC PN532 per il test

Dopo aver completato i passaggi precedenti, segui questi passaggi per eseguire prepara un DUT e un lettore NFC PN532 per il test:

  1. Collega il DUT a una macchina host tramite USB.
  2. Concedi le autorizzazioni all'host per accedere al DUT tramite ADB.
  3. Installa l'app CTS Verifier (CtsVerifier.apk) sul DUT:

    extract root/out/host/linux-x86/cts-verifier/android-cts-verifier.zip
    
    cd android-cts-verifier
    
    adb install -r -g CtsVerifier.apk
    
  4. Installa gli APK richiesti per il test NFC:

    cd MultiDevice
    
    adb install -r -g NfcEmulatorTestApp.apk
    

Configura NFC per il DUT

Segui questi passaggi per configurare NFC per il DUT:

  1. Sul DUT, vai al menu Impostazioni.
  2. Cerca la sezione NFC o Dispositivi connessi.
  3. Assicurati che l'opzione NFC sia attiva.
  4. Posiziona un chip NFC sul lettore NFC dello smartphone:

    1. Acquisisci un chip NFC PN532. Ti consigliamo l'opzione All-In-One PN532, non BLE.
    2. Collega il chip NFC PN532 all'host Linux utilizzando un cavo USB.
    3. Posiziona il chip NFC PN532 sopra il lettore NFC dello smartphone come mostrato nell'immagine seguente:

    Posizionamento del chip NFC

    Figura 1. Posizionamento del chip NFC.

Configura l'ambiente di test

Segui questi passaggi per configurare l'ambiente di test:

  1. Esegui questi comandi per configurare l'ambiente di test:

    cd MultiDevice
    
    source build/envsetup.sh
    

    Questo comando controlla Python e configura la variabile di ambiente PYTHONPATH. Se non vengono stampati errori nel terminale, l'ambiente è pronto per eseguire i test su più dispositivi.

    Se viene visualizzato il messaggio di errore libtinfo.so.6: no version information available (required by /bin/sh) in fase di runtime, esegui il seguente comando per rinominare il file libtinfo.so.6:

    mv $ENV_DIRECTORY/lib/libtinfo.so.6 $ENV_DIRECTORY/lib/libtinfo.so.6.bak
    
  2. Configura il banco di prova impostando gli ID seriali del dispositivo in test e del lettore NFC PN532 in MultiDevice/config.yml:

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

Esegui i test NFC

Per eseguire i test NFC:

  1. Apri l'app CTS-V e tocca Test NFC:

    L&#39;app CTS-V

    Figura 2. L'app CTS-V.

    Viene visualizzata la finestra informativa con l'elenco degli scenari di test:

    Scenari di test dell&#39;app CTS-V

    Figura 3. CTS-V app test cases.

  2. Esegui i test sull'host:

    MultiDevice$ python3 tools/run_all_tests.py
    

    Al termine dei test, i risultati vengono aggiornati nell'app CTS-V. I test riusciti sono verdi:

    Risultati del test CTS-V

    Figura 4. Risultati del test CTS-V.

  3. Se vedi errori contrassegnati in rosso, utilizza il seguente comando per eseguire nuovamente i test non riusciti:

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

    Dove:

    • TestCaseA e TestCaseB sono i nomi degli scenari di test visualizzati in CTS-V.
    • TestFileA è il file di test contenente gli scenari di test.

    Ad esempio:

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