إجراء اختبارات NFC على أجهزة متعددة (Android 15)

يوضّح هذا المستند كيفية إجراء اختبارات NFC على أجهزة متعددة.

استيفاء المتطلبات الأساسية

قبل إجراء اختبارات NFC على أجهزة متعددة، اتّبِع الخطوات التالية:

  1. جهِّز جهازًا يتضمّن تطبيق Android 15.
  2. اتّبِع متطلبات CTS-V.
  3. اتّبِع خطوات الإعداد في CTS-V.

جهِّز جهازًا قيد الاختبار وقارئ NFC PN532 للاختبار.

بعد الانتهاء من الخطوات السابقة، اتّبِع الخطوات التالية لتجهيز جهاز قيد الاختبار وقارئ NFC PN532 للاختبار:

  1. وصِّل الجهاز قيد الاختبار بجهاز مضيف عبر USB.
  2. امنح المضيف أذونات للوصول إلى الجهاز الخاضع للاختبار عبر ADB.
  3. ثبِّت تطبيق CTS Verifier (CtsVerifier.apk) على الجهاز الخاضع للاختبار (DUT):

    extract root/out/host/linux-x86/cts-verifier/android-cts-verifier.zip
    
    cd android-cts-verifier
    
    adb install -r -g CtsVerifier.apk
    
  4. ثبِّت حِزم APK المطلوبة لاختبار NFC:

    cd MultiDevice
    
    adb install -r -g NfcEmulatorTestApp.apk
    

إعداد NFC لجهاز الاختبار (DUT)

اتّبِع الخطوات التالية لتشغيل عملية إعداد NFC على الجهاز قيد الاختبار:

  1. على جهاز DUT، انتقِل إلى قائمة الإعدادات.
  2. ابحث عن القسم الاتصال القريب المدى (NFC) أو الأجهزة المتصلة.
  3. تأكَّد من تفعيل مفتاح التبديل الخاص بتقنية NFC.
  4. ضَع شريحة NFC على قارئ NFC في الهاتف:

    1. احصل على شريحة PN532 NFC. ننصحك باستخدام All-In-One PN532، وهو خيار غير متوافق مع تقنية البلوتوث المنخفض الطاقة (BLE).
    2. وصِّل شريحة PN532 NFC بمضيف Linux باستخدام كابل USB.
    3. ضَع شريحة PN532 NFC على قارئ NFC في الهاتف كما هو موضّح في الصورة التالية:

    موضع شريحة NFC

    الشكل 1. موضع شريحة NFC

إعداد بيئة الاختبار

اتّبِع الخطوات التالية لإعداد بيئة الاختبار:

  1. نفِّذ الأوامر التالية لإعداد بيئة الاختبار:

    cd MultiDevice
    
    source build/envsetup.sh
    

    يتحقّق هذا الأمر من Python ويضبط متغيّر بيئة PYTHONPATH. إذا لم تظهر أي أخطاء في الجهاز، تكون البيئة جاهزة لتشغيل اختبارات الأجهزة المتعددة.

    إذا ظهرت لك رسالة الخطأ libtinfo.so.6: no version information available (required by /bin/sh) أثناء وقت التشغيل، نفِّذ الأمر التالي لإعادة تسمية الملف libtinfo.so.6:

    mv $ENV_DIRECTORY/lib/libtinfo.so.6 $ENV_DIRECTORY/lib/libtinfo.so.6.bak
    
  2. اضبط منصة الاختبار من خلال ضبط أرقام التعريف التسلسلية للأجهزة الخاصة بجهاز الاختبار وجهاز قراءة NFC PN532 في MultiDevice/config.yml:

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

تشغيل اختبارات NFC

لإجراء اختبارات NFC، اتّبِع الخطوات التالية:

  1. افتح تطبيق CTS-V وانقر على اختبارات NFC:

    تطبيق CTS-V

    الشكل 2. تطبيق CTS-V

    تظهر نافذة المعلومات التي تتضمّن قائمة بحالات الاختبار:

    إطارات اختبار تطبيق CTS-V

    الشكل 3. حالات اختبار تطبيق CTS-V

  2. نفِّذ الاختبارات على المضيف:

    MultiDevice$ python3 tools/run_all_tests.py
    

    عند اكتمال الاختبارات، يتم تعديل نتائج الاختبار في تطبيق CTS-V، وتظهر الاختبارات الناجحة باللون الأخضر:

    نتائج اختبار CTS-V

    الشكل 4. نتائج اختبار CTS-V

  3. إذا ظهرت أي حالات تعذُّر باللون الأحمر، استخدِم الأمر التالي لإعادة تشغيل الاختبارات التي تعذّر تنفيذها:

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

    المكان:

    • TestCaseA وTestCaseB هما اسما حالات الاختبار كما هو معروض في CTS-V.
    • TestFileA هو ملف الاختبار الذي يحتوي على حالات الاختبار.

    مثلاً:

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