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

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

    1. احصل على شريحة NFC من طراز PN532. ننصحك باستخدام الوحدة المتكاملة PN532 التي لا تتضمّن بلوتوث منخفض الطاقة.
    2. اربط شريحة PN532 NFC بالمضيف 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. يمكنك إعداد منصة الاختبار من خلال ضبط أرقام التعريف التسلسلية للجهازَين، وهما جهاز الاختبار وPN532 NFC reader في 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"