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

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

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

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

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

تجهيز جهاز DUT وقارئ NFC PN532 لإجراء الاختبار

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

  1. وصِّل جهاز DUT بجهاز مضيف عبر USB.
  2. امنح المضيف أذونات للوصول إلى جهاز DUT عبر 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. احصل على شريحة NFC من طراز PN532. ننصحك باستخدام الخيار All-In-One PN532، وهو غير BLE.
    2. وصِّل شريحة NFC PN532 بمضيف 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. يمكنك إعداد سرير الاختبار من خلال ضبط المعرّفات التسلسلية للجهاز على قارئَي DUT وPN532 NFC في 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"