این صفحه شامل دستورالعملهایی برای استفاده از تستهای چنددستگاهی CTS Verifier (CTS-V) برای اندروید ۱۶ و بالاتر است.
تستهای چند دستگاهی سمت میزبان را تنظیم کنید
این بخش نحوه تنظیم تستهای چند دستگاهی را توضیح میدهد.
- مطمئن شوید که دستگاه رومیزی شما الزامات سیستم عامل برای CTS را برآورده میکند.
- برای اطمینان از نصب صحیح adb، AAPT2 و Python روی دسکتاپ خود، مراحل ۲ و ۵ نصب نرمافزار دسکتاپ را دنبال کنید.
دو دستگاه منطبق تحت آزمایش (DUT) را آماده کنید که هر کدام دارای تنظیمات CTS-V باشند.
- برای اطلاعات بیشتر در مورد راهاندازی DUT، به «راهاندازی DUT» مراجعه کنید.
- برای دستورالعملهای مربوط به راهاندازی CTS-V، به بخش تنظیمات مراجعه کنید.
اگر ماژولی غیر از NFC را آزمایش میکنید، بخش «تنظیم تستهای استاندارد دو دستگاه» را دنبال کنید.
- برای آزمایشهای NFC، بخش «تنظیم آزمایشهای NFC» را دنبال کنید.
اگر در حال آزمایش ماژول CDM هستید، علاوه بر تنظیم استاندارد دو دستگاه ، آزمایشهای راهاندازی CDM را نیز دنبال کنید.
تستهای استاندارد دو دستگاهی را تنظیم کنید
برای تنظیمات پیشفرض دو دستگاه:
- دو DUT مشابه اندروید را تقریباً 20 سانتیمتر از هم فاصله دهید.
برای اطمینان از تمیزی محیط، هر دو دستگاه را در یک جعبه محافظ قرار دهید.
(اختیاری) یک ردیاب OTA برای اشکالزدایی وایفای راهاندازی کنید.
تستهای NFC را تنظیم کنید
تستهای NFC از یک DUT و یک تراشه PN532 NFC استفاده میکنند.
برای تنظیم آزمایشهای NFC:
- یک تراشه NFC مدل PN532 خریداری کنید. ما مدل همه کاره PN532 را توصیه میکنیم.
در DUT، به برنامه تنظیمات بروید.
NFC را فعال کنید.
تراشه NFC را در جای خود قرار دهید:
برای تلفنها، دستگاه خواننده NFC دستگاه DUT را مطابق شکل ۱ قرار دهید:

شکل ۱. موقعیتیابی تراشه NFC.
برای انواع دیگر دستگاهها، تراشه را در کنار آنتن NFC دستگاه قرار دهید.
تراشه NFC مدل PN532 را با استفاده از کابل USB به ایستگاه کاری خود وصل کنید.
تنظیم تستهای 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 نمایش داده میشوند.
این بخش نحوه اجرای تستهای چند دستگاهی سمت میزبان را توضیح میدهد.
اجرای تستهای چند دستگاهی
برای اجرای تست چند دستگاهی:
در ایستگاه کاری آزمایشی خود، کنسول
cts-v-hostرا از دایرکتوری که بسته زیپ CTS-V از آن خارج شده است، اجرا کنید:./android-cts-verifier/android-cts-v-host/tools/cts-v-host-tradefedاز داخل برنامه CTS Verifier روی DUT، روی Host-side Tests کلیک کنید. شکل 2 تستهای سمت میزبان را در برنامه CTS Verifier نشان میدهد:

شکل ۲. تستهای چند دستگاهی سمت میزبان در برنامه CTS Verifier.
فهرستی از ماژولهای تست چند دستگاهی سمت میزبان نمایش داده میشود.
نام ماژول تستی که میخواهید اجرا کنید را مشخص کنید. برای مثال، ماژول CompanionDeviceManager به صورت CtsCompanionDeviceManagerMultiDeviceTestCases فهرست شده است.
در کنسول cts-v-host، دستور زیر را اجرا کنید:
run cts-v-host -m test_module_nameبرای مثال:
run cts-v-host -m CtsCompanionDeviceManagerMultiDeviceTestCasesپس از اینکه کنسول xTS اجرای تستها را به پایان رساند، نتایج در برنامه CTS Verifier ظاهر میشوند. تستهایی که با رنگ سبز مشخص شدهاند، با موفقیت انجام شدهاند. تستهایی که با رنگ قرمز مشخص شدهاند، با شکست مواجه شدهاند. شکل 3 نمونهای از نتایج تستهای CtsCompanionDeviceManager را نشان میدهد:

شکل ۳. نتایج آزمایش چند دستگاهی سمت میزبان در برنامه CTS Verifier.
عیبیابی تستهای چند دستگاهی
این بخش، راهنمایی برای رفع مشکلات احتمالی ارائه میدهد.
رفع مشکل عدم پاسخگویی 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 نادیده گرفته میشود.
اگر آزمایش روی دستگاههای غیرقابل اشکالزدایی اجرا میشود، بررسی کنید که آیا از این امر معاف هستید یا خیر. در غیر این صورت، اطمینان حاصل کنید که هر دو دستگاه پیشنیازها را برآورده میکنند.