Exécuter des tests NFC multi-appareils

Ce document explique comment exécuter des tests NFC multi-appareils.

Répondre aux prérequis

Avant d'effectuer des tests NFC multi-appareils, procédez comme suit:

  1. Préparez un appareil avec votre implémentation Android 15.
  2. Respectez les exigences du CTS-V.
  3. Suivez la configuration de CTS-V.

Préparer un DUT et un lecteur NFC PN532 pour le test

Une fois les étapes précédentes effectuées, procédez comme suit pour préparer un DUT et un lecteur NFC PN532 pour le test:

  1. Connectez le DUT à une machine hôte via USB.
  2. Accordez à l'hôte l'autorisation d'accéder au DUT via ADB.
  3. Installez l'application CTS Verifier (CtsVerifier.apk) sur l'appareil testé:

    extract root/out/host/linux-x86/cts-verifier/android-cts-verifier.zip
    
    cd android-cts-verifier
    
    adb install -r -g CtsVerifier.apk
    
  4. Installez les APK requis pour le test NFC:

    cd MultiDevice
    
    adb install -r -g NfcEmulatorTestApp.apk
    

Configurer la technologie NFC pour l'appareil testé

Pour configurer la technologie NFC pour l'appareil testé:

  1. Sur l'appareil de test, accédez au menu Settings (Paramètres).
  2. Recherchez la section NFC ou Appareils connectés.
  3. Assurez-vous que le bouton d'activation/de désactivation du NFC est activé.
  4. Placez une puce NFC sur le lecteur NFC du téléphone:

    1. Obtenez une puce NFC PN532. Nous vous recommandons l'option All-In-One PN532, sans BLE.
    2. Connectez la puce NFC PN532 à l'hôte Linux à l'aide d'un câble USB.
    3. Placez la puce NFC PN532 sur le lecteur NFC du téléphone, comme illustré dans l'image suivante:

    Emplacement de la puce NFC

    Figure 1 : Emplacement de la puce NFC.

Configurer l'environnement de test

Pour configurer l'environnement de test, procédez comme suit:

  1. Exécutez ces commandes pour configurer l'environnement de test:

    cd MultiDevice
    
    source build/envsetup.sh
    

    Cette commande vérifie Python et configure la variable d'environnement PYTHONPATH. Si aucune erreur n'est imprimée dans le terminal, l'environnement est prêt à exécuter les tests multi-appareils.

    Si le message d'erreur libtinfo.so.6: no version information available (required by /bin/sh) s'affiche au moment de l'exécution, exécutez la commande suivante pour renommer le fichier libtinfo.so.6:

    mv $ENV_DIRECTORY/lib/libtinfo.so.6 $ENV_DIRECTORY/lib/libtinfo.so.6.bak
    
  2. Configurez le banc d'essai en définissant les numéros de série de l'appareil DUT et du lecteur NFC PN532 dans MultiDevice/config.yml:

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

Exécuter les tests NFC

Pour exécuter les tests NFC:

  1. Ouvrez l'application CTS-V et appuyez sur Tests NFC:

    Application CTS-V

    Figure 2. Application CTS-V

    La fenêtre d'informations contenant la liste des scénarios de test s'affiche:

    Scénarios de test de l&#39;application CTS-V

    Figure 3. Scénarios de test d'application CTS-V

  2. Exécutez les tests sur votre hôte:

    MultiDevice$ python3 tools/run_all_tests.py
    

    Une fois les tests terminés, les résultats sont mis à jour dans l'application CTS-V. Les tests réussis sont de couleur verte:

    Résultats des tests CTS-V

    Figure 4. Résultats des tests CTS-V.

  3. Si des échecs sont marqués en rouge, utilisez la commande suivante pour réexécuter les tests échoués:

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

    Où :

    • TestCaseA et TestCaseB sont les noms des scénarios de test tels qu'ils apparaissent dans CTS-V.
    • TestFileA est le fichier de test contenant les cas de test.

    Exemple :

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