À partir du 27 mars 2025, nous vous recommandons d'utiliser android-latest-release
au lieu de aosp-main
pour créer et contribuer à AOSP. Pour en savoir plus, consultez la section Modifications apportées à AOSP.
Exécuter des tests NFC multi-appareils (Android 15)
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Ce document explique comment exécuter des tests NFC multi-appareils.
Répondre aux conditions préalables
Avant d'exécuter des tests NFC multi-appareils, procédez comme suit:
- Préparez un appareil avec votre implémentation Android 15.
- Respectez les exigences de CTS-V.
- 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 terminées, procédez comme suit pour préparer un DUT et un lecteur NFC PN532 pour le test:
- Connectez le DUT à une machine hôte via USB.
- Accordez à l'hôte l'autorisation d'accéder au DUT via ADB.
Installez l'application CTS Verifier (CtsVerifier.apk
) sur l'appareil de test:
extract root/out/host/linux-x86/cts-verifier/android-cts-verifier.zip
cd android-cts-verifier
adb install -r -g CtsVerifier.apk
Installez les APK requis pour le test NFC:
cd MultiDevice
adb install -r -g NfcEmulatorTestApp.apk
Configurer le NFC pour l'appareil testé
Pour configurer la technologie NFC pour l'appareil testé:
- Sur l'appareil de test, accédez au menu Settings (Paramètres).
- Recherchez la section NFC ou Appareils connectés.
- Assurez-vous que l'option NFC est activée.
Positionnez une puce NFC sur le lecteur NFC du téléphone:
- Obtenez une puce NFC PN532. Nous vous recommandons l'option All-In-One PN532, sans BLE.
- Connectez la puce NFC PN532 à l'hôte Linux à l'aide d'un câble USB.
- Placez la puce NFC PN532 sur le lecteur NFC du téléphone, comme illustré dans l'image suivante:
Figure 1 : Emplacement de la puce NFC.
Configurer l'environnement de test
Pour configurer l'environnement de test, procédez comme suit:
Exécutez ces commandes pour configurer l'environnement de test:
cd MultiDevice
source build/envsetup.sh
Cette commande vérifie le 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
Configurez le banc d'essai en définissant les numéros de série de l'appareil du 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:
Ouvrez l'application CTS-V, puis appuyez sur Tests NFC:
Figure 2. Application CTS-V
La fenêtre d'informations contenant la liste des scénarios de test s'affiche:
Figure 3. Scénarios de test de l'application CTS-V
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 verts:
Figure 4. Résultats des tests CTS-V.
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"
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/27 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/07/27 (UTC)."],[],[],null,["# Run multi-device NFC tests (Android 15)\n\nThis document explains how to run multi-device NFC tests.\n\nMeet prerequisites\n------------------\n\nBefore you run multi-device NFC tests, do the following:\n\n1. Prepare a device with your Android 15 implementation.\n2. Follow CTS-V [requirements](/docs/compatibility/cts/verifier#requirements).\n3. Follow CTS-V [setup](/docs/compatibility/cts/verifier#setup).\n\nPrepare a DUT and a PN532 NFC reader for the test\n-------------------------------------------------\n\nAfter you finish the previous steps, follow these steps to run\nprepare a DUT and a PN532 NFC reader for the test:\n\n1. Connect the DUT to a host machine over USB.\n2. Grant permissions for the host to access the DUT over ADB.\n3. Install the CTS Verifier app (`CtsVerifier.apk`) on the DUT:\n\n extract root/out/host/linux-x86/cts-verifier/android-cts-verifier.zip\n\n cd android-cts-verifier\n\n adb install -r -g CtsVerifier.apk\n\n4. Install the NFC test required APKs:\n\n cd MultiDevice\n\n adb install -r -g NfcEmulatorTestApp.apk\n\nSet up NFC for the DUT\n----------------------\n\nFollow these steps to run set up NFC for the DUT:\n\n1. On the DUT, go to the **Settings** menu.\n2. Look for the **NFC** or **Connected Devices** section.\n3. Ensure the NFC toggle switch is turned on.\n4. Position an NFC chip on the phone's NFC reader:\n\n 1. Acquire a PN532 NFC chip. We recommend the [All-In-One PN532](https://shop.mtoolstec.com/product/mtools-all-in-one-pn532), non-BLE option.\n 2. Attach the PN532 NFC chip to the Linux host using a USB cable.\n 3. Place the PN532 NFC chip over the phone's NFC reader as shown in the following image:\n\n **Figure 1.** NFC chip placement.\n\nSet up the test environment\n---------------------------\n\nFollow these steps to run set up the test environment:\n\n1. Run these commands to set up the test environment:\n\n cd MultiDevice\n\n source build/envsetup.sh\n\n This command checks the Python and sets up the `PYTHONPATH` environment\n variable. If no errors are printed to the terminal, the environment is ready\n to run the multi-device tests.\n\n If you see the error message `libtinfo.so.6: no version information\n available (required by /bin/sh)` at runtime, run the following command\n to rename the `libtinfo.so.6` file: \n\n mv $ENV_DIRECTORY/lib/libtinfo.so.6 $ENV_DIRECTORY/lib/libtinfo.so.6.bak\n\n2. Set up the test bed by setting the device serial IDs of the DUT and PN532 NFC\n reader in `MultiDevice/config.yml`:\n\n TestBeds:\n - Name: CtsNfcHceMultiDeviceTestCases-py-ctsv\n Controllers:\n AndroidDevice:\n - serial: \"\u003cdevice-id\u003e\"\n TestParams:\n pn532_serial_path: \"\u003cpn532-serial-path\u003e\"\n\nRun the NFC tests\n-----------------\n\nTo run the NFC tests:\n\n1. Open the CTS-V app and tap **NFC Tests**:\n\n **Figure 2.** The CTS-V app.\n\n The info window with list of test cases appears:\n\n **Figure 3.** CTS-V app test cases.\n2. Run the tests on your host:\n\n MultiDevice$ python3 tools/run_all_tests.py\n\n When the tests are completed, the test results are updated in the CTS-V\n app. Successful tests are green:\n\n **Figure 4.** CTS-V test results.\n3. If you see any failures marked in red, use the following command to rerun\n the failed tests:\n\n python3 tools/run_all_tests.py --test_cases \"`\u003cvar translate=\"no\"\u003eTestCaseA\u003c/var\u003e`\" \"`\u003cvar translate=\"no\"\u003eTestCaseB\u003c/var\u003e`\" --test_files \"`\u003cvar translate=\"no\"\u003eTestFileA\u003c/var\u003e`\"\n\n Where:\n - \u003cvar translate=\"no\"\u003eTestCaseA\u003c/var\u003e and \u003cvar translate=\"no\"\u003eTestCaseB\u003c/var\u003e are the names of the test cases as displayed in CTS-V.\n - \u003cvar translate=\"no\"\u003eTestFileA\u003c/var\u003e is the test file containing the test cases.\n\n For example: \n\n python3 tools/run_all_tests.py --test_cases \"test_conflicting_non_payment\" \"test_conflicting_non_payment_prefix\" --test_files \"CtsNfcHceMultiDeviceTestCases-py-ctsv\""]]