إجراء اختبارات 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) على الجهاز قيد الاختبار:

    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 للجهاز قيد الاختبار

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

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

    1. احصل على شريحة NFC من نوع PN532. ننصح باستخدام خيار All-In-One PN532 غير المتوافق مع تقنية البلوتوث منخفض الطاقة (BLE).
    2. ألصِق شريحة NFC من نوع PN532 بالمضيف الذي يعمل بنظام التشغيل Linux باستخدام كابل USB.
    3. ضَع شريحة NFC من نوع PN532 على قارئ 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"