تست های چند دستگاهی CTS Verifier را اجرا کنید

این صفحه شامل دستورالعمل‌هایی برای استفاده از تست‌های Better Together CTS Verifier (CTS-V) برای اندروید ۱۶ QPR2 یا بالاتر است.

تست‌های چند دستگاهی سمت میزبان را تنظیم کنید

این بخش نحوه تنظیم تست‌های چند دستگاهی را توضیح می‌دهد.

  1. تأیید کنید که دستگاه رومیزی شما الزامات سیستم عامل برای CTS را برآورده می‌کند.
  2. برای نصب و تأیید صحت نصب adb، AAPT2 و Python روی دسکتاپ خود، مراحل ۲ و ۵ نصب نرم‌افزار دسکتاپ را دنبال کنید.

    • نسخه پایتون شما باید ۳.۱۱ یا بالاتر باشد. برای تعیین نسخه پایتون خود، python3 --version اجرا کنید. اگر نسخه پایین‌تر از ۳.۱۱ است، آخرین نسخه رسمی پایتون را نصب کنید. برای اطلاعات بیشتر، به بخش دانلودها در python.org مراجعه کنید.
    • برخی از تست‌ها نیاز دارند که میزبان ماژول پایتون venv را داشته باشد. در سیستم‌های دبیان و اوبونتو، ممکن است این ماژول به طور پیش‌فرض نصب نشده باشد. برای تعیین اینکه آیا نسخه پایتون شما ماژول venv را دارد یا خیر، دستور python3 -m venv venv را اجرا کنید. اگر این دستور با شکست مواجه شود، یک پیام خطا نمایش داده می‌شود. برای نصب بسته python3.x-venv ، دستورالعمل را دنبال کنید.
  3. دو دستگاه منطبق تحت آزمایش (DUT) را آماده کنید که هر کدام دارای تنظیمات CTS-V باشند.

    • برای اطلاعات بیشتر در مورد راه‌اندازی DUT، به «راه‌اندازی DUT» مراجعه کنید.
    • برای دستورالعمل‌های مربوط به راه‌اندازی CTS-V، به بخش تنظیمات مراجعه کنید.
  4. برای نوع آزمون خود به بخش تنظیمات بروید:

    اگر تست شما در این لیست نیست، به بخش «تنظیم تست‌های استاندارد دو دستگاهی» بروید.

تست‌های NFC را تنظیم کنید

تست‌های NFC از یک DUT و یک تراشه PN532 NFC استفاده می‌کنند.

برای تنظیم آزمایش‌های NFC:

  1. یک تراشه NFC مدل PN532 خریداری کنید. ما مدل همه کاره PN532 را توصیه می‌کنیم.
  2. در DUT، به برنامه تنظیمات بروید.

  3. NFC را فعال کنید.

  4. تراشه NFC را در جای خود قرار دهید:

    • برای تلفن‌ها، دستگاه خواننده NFC دستگاه DUT را مطابق شکل ۱ قرار دهید:

      موقعیت‌یابی تراشه NFC

      شکل ۱. موقعیت‌یابی تراشه NFC.

    • برای انواع دیگر دستگاه‌ها، تراشه را در کنار آنتن NFC دستگاه قرار دهید.

  5. تراشه NFC مدل PN532 را با استفاده از کابل USB به ایستگاه کاری خود وصل کنید.

اختیاری: تنظیم تست‌های اتصال نقطه دسترسی Wi-Fi

تست‌های اتصال نقطه دسترسی وای‌فای (AP) ( CtsWifiConnectionTests ) اتصال بین یک DUT و یک AP را آزمایش می‌کنند. ما اکیداً توصیه می‌کنیم که این تست‌ها را انجام دهید، اما در CTS-V Android 16 16 QPR2 نیازی به آنها نیست.

این آزمایش‌ها به یک DUT و یک AP از نوع OpenWrt Banana Pi R3 نیاز دارند.

برای تنظیم آزمایش‌های اتصال نقطه دسترسی Wi-Fi:

  1. AP و لوازم جانبی Banana Pi R3 را که در این جدول ذکر شده است، خریداری کنید:

    مورد مقدار
    برد BPi-R3، مشابه برد روتر Banana Pi BPI-R3 با طراحی تراشه MediaTek MT7986، پشتیبانی از Wi-Fi 6، 2 گیگابایت رم DDR و 8 گیگابایت حافظه فلش eMMC روی برد ۱
    قاب آلومینیومی BPi-R3، مشابه قاب آهنی BPI-R3 ۱
    هیت سینک آلومینیومی BPi-R3 (فن خنک کننده)، مشابه هیت سینک آلومینیومی BPI-R3 با فن ۱
    آنتن ۲ و ۵ گیگاهرتز به همراه کابل، مشابه آنتن ۵DB موجود در فروشگاه BPI ۸
    آداپتور برق، مشابه منبع تغذیه DC 12V/2A ۱

    برای خرید، به بخش خرید آسان در صفحه Banana Pi BPI-R3 مراجعه کنید.

  2. نقطه دسترسی را تنظیم کنید. برای اطلاعات بیشتر در مورد تنظیم نقطه دسترسی، به بخش تنظیم نقطه دسترسی Banana Pi BPI-R3 مراجعه کنید.

  3. اختیاری: اگر جعبه محافظ ندارید، جعبه محافظ JTP-SR101 را توصیه می‌کنیم. این جعبه را با استفاده از اطلاعات زیر خریداری کنید:

    شرکت فناوری الکترونیک دونگ گوان ژنگ شنگ، با مسئولیت محدود
    شهرک صنعتی بوهویی، جاده پانلونگ، شهرک لیائوبو، شهر دونگوان، استان گوانگدونگ، چین
    تماس: فارست پن
    ایمیل: forest.pan@jtpmak.cn
    تلفن (چین): +86 18676993556

  4. دستگاه DUT و AP را به میزبان وصل کنید و در یک جعبه محافظ RF قرار دهید. دستگاه DUT و AP باید حداقل 10 سانتی‌متر از هم فاصله داشته باشند. شکل 2 این پیکربندی را نشان می‌دهد:

    DUT و AP در جعبه محافظ

    شکل ۲. دستگاه DUT و AP در جعبه محافظ.

  5. از SSH برای تأیید دسترسی به AP از میزبان استفاده کنید.

تست‌های استاندارد دو دستگاهی را تنظیم کنید

برای تنظیمات پیش‌فرض دو دستگاه:

  1. دو DUT مشابه اندروید را تقریباً 20 سانتی‌متر از هم فاصله دهید.
  2. برای ایجاد یک محیط تمیز، هر دو دستگاه را در یک جعبه محافظ قرار دهید.

  3. اختیاری: یک ردیاب OTA برای اشکال‌زدایی وای‌فای راه‌اندازی کنید.

تنظیم تست‌های CDM

مورد آزمایشی test_permissions_sync() بسته به نوع ساخت دستگاه‌هایی که تست روی آنها اجرا می‌شود، رفتار متفاوتی دارد. بسیار مهم است که هر دو نسخه قابل اشکال‌زدایی (userdebug یا eng) و غیر قابل اشکال‌زدایی (user) توسط OEMها آزمایش شوند و تست‌ها برای هر دو با موفقیت انجام شوند.

معافیت

بند CDD برای پیاده‌سازی API همگام‌سازی مجوزها، تنها مستلزم آن است که بتواند داده‌ها را با موفقیت بین دستگاه‌ها از طریق یک کانال امن منتقل کند. از آنجایی که پیاده‌سازی کانال امن، الزام انطباق با CDD نیست، می‌توان از این تست در نسخه‌های غیر قابل اشکال‌زدایی (کاربر) صرف نظر کرد، اما تنها در صورتی که بخواهید از پشتیبانی از ویژگی همگام‌سازی مجوزهای CDM انصراف دهید.

این تست‌ها باید بدون استثنا روی نسخه‌های قابل اشکال‌زدایی با موفقیت انجام شوند.

پیش‌نیازهای آزمایش روی نسخه‌های غیرقابل اشکال‌زدایی

اگر طبق بندهای معافیت قبلی معاف نشده‌اید، تأیید کنید که پیش‌نیازهای زیر را برآورده می‌کنید.

کانال امن از AVF ( AttestationVerificationFramework ) برای تأیید اعتبار سخت‌افزار استفاده می‌کند. گواهی‌های تولید شده توسط هر دو طرف شامل چندین قطعه اطلاعات در مورد خودشان است تا اطمینان حاصل شود که هیچ تغییر غیرمجازی در سیستم آنها رخ نداده است. AVF در طول فرآیند تأیید، موارد زیر را بررسی می‌کند:

  • دستگاه به اینترنت دسترسی دارد
  • دستگاه از بوت تأیید شده استفاده می‌کند و ساخت باید با کلید انتشار امضا شود، نه با کلید توسعه
  • دستگاه قفل بوت لودر دارد. برای دستورالعمل‌های دقیق، به قفل کردن بوت لودر مراجعه کنید.
  • سیستم‌عامل، بوت کلید و سطوح وصله فروشنده کلیدی ظرف ۱۲ ماه قابل استفاده هستند. از نسخه‌ای که بیش از یک سال از ساخت آن می‌گذرد استفاده نکنید.
  • گواهی دستگاه توسط یکی از گواهی‌های ریشه مورد تأیید فروشنده پشتیبانی می‌شود. گواهی‌های ریشه مورد اعتماد خود را در پوشش منبع vendor_required_attestation_certificates.xml مشخص کنید.

اجرای تست‌های چند دستگاهی سمت میزبان (AOSP 16 یا بالاتر)

CTS Verifier 16 پشتیبانی از تست‌های چند دستگاهی سمت میزبان را معرفی می‌کند. این تست‌ها می‌توانند با استفاده از اسکریپت‌های خودکار روی میزبان، به جای عملیات تست دستی روی دستگاه، اجرا شوند. پس از اتمام هر تست، نتایج به طور خودکار در DUT آپلود شده و در برنامه CTS Verifier نمایش داده می‌شوند.

این بخش نحوه اجرای تست‌های چند دستگاهی سمت میزبان را توضیح می‌دهد.

اجرای تست‌های چند دستگاهی

برای اجرای تست چند دستگاهی:

  1. در ایستگاه کاری آزمایشی خود، کنسول cts-v-host را از دایرکتوری که بسته زیپ CTS-V از آن خارج شده است، اجرا کنید:

    ./android-cts-verifier/android-cts-v-host/tools/cts-v-host-tradefed
    
  2. از داخل برنامه CTS Verifier روی DUT، روی Host-side Tests کلیک کنید. شکل 3 تست‌های سمت میزبان را در برنامه CTS Verifier نشان می‌دهد:

    تست‌های چند دستگاهی سمت میزبان در برنامه تأییدکننده CTS

    شکل ۳. تست‌های چند دستگاهی سمت میزبان در برنامه CTS Verifier.

    فهرستی از ماژول‌های تست چند دستگاهی سمت میزبان نمایش داده می‌شود.

  3. نام ماژول تستی که می‌خواهید اجرا کنید را مشخص کنید. برای مثال، ماژول CompanionDeviceManager به صورت CtsCompanionDeviceManagerMultiDeviceTestCases فهرست شده است.

  4. در کنسول cts-v-host، دستور زیر را اجرا کنید:

    run cts-v-host -m test_module_name
    

    برای مثال:

    run cts-v-host -m CtsCompanionDeviceManagerMultiDeviceTestCases
    

    پس از اینکه کنسول xTS اجرای تست‌ها را به پایان رساند، نتایج در برنامه CTS Verifier ظاهر می‌شوند. تست‌هایی که با رنگ سبز مشخص شده‌اند، با موفقیت انجام شده‌اند. تست‌هایی که با رنگ قرمز مشخص شده‌اند، با شکست مواجه شده‌اند. شکل 4 نمونه‌ای از نتایج تست‌های CtsCompanionDeviceManager را نشان می‌دهد:

    نتایج تست چند دستگاهی سمت میزبان در برنامه CTS Verifier

    شکل ۴. نتایج آزمایش چند دستگاهی سمت میزبان در برنامه CTS Verifier.

اختیاری: تست‌های اتصال نقطه دسترسی Wi-Fi را اجرا کنید

برای اجرای تست‌های اتصال Wi-Fi AP، این مراحل را دنبال کنید:

  1. فایل پیکربندی testbed ( WifiConnectionTestbed.yaml ) را ویرایش کنید. این فایل در دایرکتوری است که CTS-Verifier از حالت فشرده خارج شده است:

    ./android-cts-verifier/android-cts-v-host/testcases/CtsWifiConnectionTests/x86_64/connection/WifiConnectionTestbed.yaml
    
  2. مقدار فیلد hostname را بر اساس تنظیمات SSH محلی خود به آدرس IP نقطه دسترسی (AP) تغییر دهید. برای شناسایی آدرس IP، به بخش «یافتن آدرس IP نقطه دسترسی» مراجعه کنید.

    مثال زیر محل فیلد hostname را در فایل WifiConnectionTestbed.yaml نشان می‌دهد:

    TestBeds:
    - Name: WifiConnectionTestbed
      Controllers:
        # Specify settings for the AP.
        OpenWrtDevice:
        - hostname: AP-IP
          skip_init_reboot: True
    
  3. در کنسول cts-v-host، دستور زیر را اجرا کنید:

    run everything -m CtsWifiConnectionTests
    

عیب‌یابی تست‌های چند دستگاهی

این بخش، راهنمایی برای رفع مشکلات احتمالی ارائه می‌دهد.

رفع مشکل عدم پاسخگویی GetFirmwareVersion در طول تست‌های NFC

اگر هنگام اجرای تست‌های چند دستگاهی، پیام verify_firmware_version RuntimeError: No response for GetFirmwareVersion دریافت کردید، تست‌ها نمی‌توانند به برد NFC PN532 دسترسی پیدا کنند.

برای رفع این مشکل، مسیر سریال مورد استفاده توسط برد NFC PN532 روی میزبان خود، مانند dev/ttyUSB1 را شناسایی کنید، سپس آن را به صورت دستی با استفاده از آرگومان --module-arg در کنسول مشخص کنید:

run cts-v-host -m CtsNfcHceMultiDeviceTestCases --module-arg CtsNfcHceMultiDeviceTestCases:pn532_serial_path:/dev/ttyUSB1

رفع مشکل پیام خطای تراکنش ناموفق در طول آزمایش‌های NFC

اگر پیام Transaction failed, check device logs for more information. در تمام موارد آزمایش NFC، احتمالاً به این دلیل است که تراشه NFC دستگاه DUT نمی‌تواند PN532 را شناسایی کند.

اگر چندین دستگاه به میزبان متصل دارید و برخی از آنها PN532 را روی خود ندارند، ممکن است DUT اشتباه انتخاب شده باشد. برای اطلاعات بیشتر، به بخش «تنظیم تست‌های NFC» مراجعه کنید.

برای رفع این مشکل، یکی از کارهای زیر را انجام دهید:

  • سریال صحیح DUT را در دستور تست سمت میزبان خود با استفاده از آپشن -s تنظیم کنید.

  • تمام دستگاه‌های غیر DUT را از میزبان جدا کنید.

مورد آزمایشی CDM، test_permissions_sync نادیده گرفته می‌شود.

اگر آزمایش روی دستگاه‌های غیرقابل اشکال‌زدایی اجرا می‌شود، بررسی کنید که آیا از این امر معاف هستید یا خیر. در غیر این صورت، تأیید کنید که هر دو دستگاه پیش‌نیازها را برآورده می‌کنند.