اجرای آزمایش‌های NFC چند دستگاهی (اندروید 15)

این سند نحوه اجرای تست‌های NFC روی چند دستگاه را توضیح می‌دهد.

پیش نیازها را برآورده کنید

قبل از اجرای تست‌های NFC روی چند دستگاه، موارد زیر را انجام دهید:

  1. دستگاهی را با پیاده‌سازی اندروید ۱۵ خود آماده کنید.
  2. الزامات CTS-V را دنبال کنید.
  3. تنظیمات CTS-V را دنبال کنید.

یک دستگاه DUT و یک دستگاه خواننده NFC مدل PN532 را برای آزمایش آماده کنید.

پس از اتمام مراحل قبلی، این مراحل را دنبال کنید تا یک DUT و یک خواننده NFC PN532 را برای آزمایش آماده کنید:

  1. DUT را از طریق USB به یک دستگاه میزبان وصل کنید.
  2. مجوزهای لازم برای دسترسی میزبان به DUT از طریق ADB را اعطا کنید.
  3. برنامه تأییدکننده CTS ( 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 برای DUT، این مراحل را دنبال کنید:

  1. در DUT، به منوی تنظیمات بروید.
  2. به دنبال بخش NFC یا دستگاه‌های متصل باشید.
  3. مطمئن شوید که کلید NFC روشن است.
  4. یک تراشه NFC را روی خواننده NFC گوشی قرار دهید:

    1. یک تراشه NFC مدل PN532 تهیه کنید. ما مدل All-In-One PN532 بدون بلوتوث را توصیه می‌کنیم.
    2. تراشه NFC مدل PN532 را با استفاده از کابل USB به میزبان لینوکس وصل کنید.
    3. تراشه PN532 NFC را مطابق تصویر زیر روی خواننده NFC گوشی قرار دهید:

    قرار دادن تراشه NFC

    شکل ۱. محل قرارگیری تراشه NFC.

محیط آزمایش را تنظیم کنید

برای راه‌اندازی محیط آزمایش، این مراحل را دنبال کنید:

  1. برای تنظیم محیط آزمایش، این دستورات را اجرا کنید:

    cd MultiDevice
    
    source build/envsetup.sh
    

    این دستور پایتون را بررسی کرده و متغیر محیطی 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 و خواننده 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

    شکل ۲. اپلیکیشن CTS-V.

    پنجره اطلاعات با لیستی از موارد آزمایش ظاهر می‌شود:

    موارد آزمایش برنامه CTS-V

    شکل 3. موارد آزمایش برنامه CTS-V.

  2. تست‌ها را روی هاست خود اجرا کنید:

    MultiDevice$ python3 tools/run_all_tests.py
    

    پس از اتمام آزمایش‌ها، نتایج آزمایش در برنامه CTS-V به‌روزرسانی می‌شوند. آزمایش‌های موفق سبز رنگ هستند:

    نتایج آزمایش CTS-V

    شکل ۴. نتایج آزمایش CTS-V.

  3. اگر هرگونه خطایی را مشاهده کردید که با رنگ قرمز مشخص شده است، از دستور زیر برای اجرای مجدد تست‌های ناموفق استفاده کنید:

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

    کجا:

    • TestCaseA و TestCaseB نام‌های Test Caseهایی هستند که در 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"