تأییدکننده مجموعه تست سازگاری اندروید (CTS Verifier) مکمل مجموعه تست سازگاری (CTS) است. در حالی که CTS APIها و عملکردهایی را که میتوانند خودکار شوند بررسی میکند، CTS Verifier تستهایی را برای APIها و عملکردهایی ارائه میدهد که نمیتوان آنها را بدون ورودی دستی یا موقعیتیابی روی یک دستگاه ثابت آزمایش کرد، مانند کیفیت صدا، صفحه لمسی، شتابسنج و دوربین.
الزامات
قبل از اجرای CTS Verifier، مطمئن شوید که تجهیزات زیر را دارید:
- دستگاهی مبتنی بر اندروید که با موفقیت در آزمون CTS، سازگاری با API اندروید را تأیید کرده است. این دستگاه، دستگاه تحت آزمایش (DUT) است.
- کامپیوتر لینوکس با پورت سازگار با USB 2.0. تمام اتصالات به DUT از طریق این پورت انجام میشود.
- دومین دستگاه اندرویدی که از بلوتوث، وایفای دایرکت، وایفای اویر، یووایبی (در صورت پشتیبانی دستگاه دیویدی از یووایبی) و شبیهسازی کارت میزبان NFC (HCE) پشتیبانی کند و با آن سازگار باشد.
- یک روتر وایفای پیکربندیشده با نام و رمز عبور نقطه دسترسی. روتر باید قابلیت قطع اتصال از اینترنت بدون خاموش شدن را داشته باشد.
مطمئن شوید که سهپایهها، نگهدارندههای دستگاه و فواصل از پیش اندازهگیری شده مورد نیاز برای آزمایشهای اندازهگیری فاصله (مجاورت) برای UWB، Wi-Fi NAN و Bluetooth RSSI را نیز آماده کردهاید. برای جزئیات بیشتر، به کالیبراسیون حضور مراجعه کنید.
الزامات UICC برای آزمایشهای NFC
تأییدکننده CTS موارد آزمایش NFC زیر را دارد:
- فیلدآف (از دادههای تراکنش 0x54 استفاده میکند)
- لغو انتخاب (از دادههای تراکنش 0x52 استفاده میکند)
- دستور HCI (0025000000) (از دادههای تراکنش از 0x02 استفاده میکند)
آزمایشهای رویداد تراکنش به دو دستگاه نیاز دارند که یکی از آنها باید SecureElement UICC را با قوانین دسترسی زیر داشته باشد:
- هش APK CtsVerifier: 61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
- شناسه برنامه مجاز (AID) برای دسترسی به رویداد NFC: 0xA000000476416E64726F696443545341
در سمت شبیهساز، انتظار داریم رویداد تراکنش، فعالیت مربوطه را به پیشزمینه (foreground) هدایت کند.
راهاندازی
اندروید ۱۷ برای اعطای نقش مرورگر پیشفرض به یک مرحله راهاندازی CTS-V اضافی نیاز دارد.
حالت ناوبری سیستم دستگاه آزمایشی را به صورت زیر به حالت سه دکمهای تغییر دهید:
- تنظیمات را باز کنید.
- به سیستم > تعامل > حالت ناوبری بروید.
- هر حالت ناوبری مبتنی بر دکمه را انتخاب کنید؛ در صورت وجود، حالت سه دکمهای ترجیح داده میشود.
برای تنظیم محیط آزمایش CTS Verifier:
در کامپیوتر لینوکس:
- قبل از نصب CTS Verifier، دستور زیر را اجرا کنید تا به رابطهای غیر SDK دسترسی داده شود:
adb shell settings put global hidden_api_policy 1اندروید استودیو را نصب کنید.
برای آزمایش، فایل APK تأییدکننده CTS را برای نسخه اندروید دانلود کنید.
DUT را به کامپیوتر لینوکس وصل کنید.
از طریق ترمینال روی کامپیوتر لینوکس،
CtsVerifier.apkرا روی DUT نصب کنید:adb install -r -g CtsVerifier.apkبرای اندروید ۱۰ و بالاتر، دستور زیر را اجرا کنید تا به برنامه اجازه ایجاد گزارش را بدهید:
adb shell appops set com.android.cts.verifier android:read_device_identifiers allowبرای اندروید ۱۱ و بالاتر، دستور زیر را اجرا کنید تا گزارشها در یک دایرکتوری خودتعریفشده در زیر دایرکتوری سطح بالای خارجی دستگاه ذخیره شوند:
adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0برای اندروید ۱۳ و بالاتر، دستور زیر را اجرا کنید تا دسترسی API تست برای CTS Verifier فراهم شود:
adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifierبرای اندروید ۱۴ و بالاتر، دستور زیر را اجرا کنید تا به برنامه اجازه دهید صفحه را روشن کند:
adb shell appops set com.android.cts.verifier TURN_SCREEN_ON 0برای اندروید ۱۷ و بالاتر، دستور زیر را برای اعطای نقش مرورگر پیشفرض به CTS Verifier اجرا کنید:
adb shell 'cmd role add-role-holder --user $(am get-current-user) android.app.role.BROWSER com.android.cts.verifier'تأیید کنید که تاریخ و زمان سیستم DUT به درستی تنظیم شده است.
تأییدکننده CTS را اجرا کنید
با ضربه زدن روی نماد تأییدکننده CTS روی DUT، برنامه تأییدکننده CTS را اجرا کنید.
![]()
شکل ۱. نماد تأییدکننده CTS.
این برنامه چندین مجموعه تست موجود برای تأیید دستی را نمایش میدهد.

شکل ۲. منوی آزمایشهای CTS Verifier.
هر آزمون شامل مجموعهای از عناصر مشترک در پایین صفحه است.

شکل ۳. صفحه تست با عناصر تست رایج برجسته شده.
- قبول (✓). اگر DUT الزامات آزمایش را طبق دستورالعملهای اطلاعات برآورده میکند، روی آن ضربه بزنید.
- اطلاعات (?). برای نمایش دستورالعملهای تست، ضربه بزنید. همچنین به طور خودکار در اولین باری که تست باز میشود، ظاهر میشود.
- ناموفق (!). اگر DUT الزامات آزمایش را طبق دستورالعملهای اطلاعات برآورده نمیکند، روی ضربه بزنید.
برخی از تستها، مانند حالت لوازم جانبی USB، به تنظیمات و دستورالعملهای تست اضافی نیاز دارند که در بخشهای بعدی به تفصیل توضیح داده شده است.
حالت لوازم جانبی USB را برای نسخه ۸.۰ و بالاتر آزمایش کنید

شکل ۴. روش تست لوازم جانبی USB برای ۸.۰ و بالاتر.

شکل ۵. آزمایش حالت لوازم جانبی USB برای ۸.۰ و بالاتر.
حالت لوازم جانبی USB را برای ۷.x و پایینتر آزمایش کنید
تست USB Accessory برای اجرای برنامه دستگاه رومیزی USB (میزبان) به یک کامپیوتر لینوکس نیاز دارد.
- DUT را به کامپیوتر لینوکس وصل کنید.
در رایانه، برنامه
cts-usb-accessoryرا از بسته CTS Verifier اجرا کنید:./cts-usb-accessoryصبر کنید تا یک کادر محاورهای روی DUT ظاهر شود، سپس روی تأیید ضربه بزنید.

شکل ۶. تست لوازم جانبی USB
در برنامه CTS Verifier روی DUT، به بخش USB Accessory Test بروید.
در کامپیوتر، خروجی کنسول را بررسی کنید. نمونه خروجی:
CTS USB Accessory Tester Found possible Android device (413c:2106) - attempting to switch to accessory mode... Failed to read protocol versionfigure3 Found Android device in accessory mode (18d1:2d01)... [RECV] Message from Android device #0 [SENT] Message from Android accessory #0 [RECV] Message from Android device #1 [SENT] Message from Android accessory #1 [RECV] Message from Android device #2 [SENT] Message from Android accessory #2 [RECV] Message from Android device #3 [SENT] Message from Android accessory #3 [RECV] Message from Android device #4 [SENT] Message from Android accessory #4 [RECV] Message from Android device #5 [SENT] Message from Android accessory #5 [RECV] Message from Android device #6 [SENT] Message from Android accessory #6 [RECV] Message from Android device #7 [SENT] Message from Android accessory #7 [RECV] Message from Android device #8 [SENT] Message from Android accessory #8 [RECV] Message from Android device #9 [SENT] Message from Android accessory #9 [RECV] Message from Android device #10 [SENT] Message from Android accessory #10
اجرای تأییدکننده CTS برای حالتهای جایگزین
با شروع نسخههای CTS 10 R6 و CTS 11 R2، CTS Verifier از تستهای مورد نیاز برای دستگاههایی با حالتهای جایگزین یا برای دستگاههایی با بیش از یک حالت صفحه نمایش پشتیبانی میکند.
در بالای نمای فهرست اصلی در CTS Verifier، دکمهای نشان داده شده است که کاربران را قادر میسازد بین حالت نمایش باز و بسته جابهجا شوند. CTS Verifier تستهای لازم برای حالت نمایش انتخاب شده را نشان میدهد. برای اجرای حالتهای جایگزین در CTS Verifier، باید دکمه را به حالت نمایش مناسب تغییر دهید و لیست تستهای نشان داده شده را اجرا کنید.

شکل ۷. کلید ضامن تأییدکننده CTS.
نتایج آزمایشهای تا شده در همان گزارش آزمایشهای تا نشده ثبت خواهند شد. برای شناسایی هر نتیجه آزمایش که مجموعه آزمایش از آن گرفته شده است، پسوندی به نام هر آزمایش در زیر حالت تا شده اضافه میشود.
<Test result="fail" name="com.android.cts.verifier.deskclock.DeskClockTestsActivity[folded]">
<RunHistory subtest="CREATE_ALARM[folded]">
<Run start="1594176663973" end="1594176665841" isAutomated="false" />
</RunHistory>
</Test>
نتایج صادرات
پس از اتمام تمام آزمایشها، میتوانید نتایج را به عنوان یک گزارش ذخیره کرده و آنها را در رایانه دانلود کنید. نام گزارشها به طور خودکار بر اساس زمان سیستم DUT مهر زمانی میشوند.
برای ذخیره نتایج آزمایش خود، روی نماد ذخیره (دیسک) در بالای لیست دستههای آزمایش ضربه بزنید.
منتظر پنجرهای باشید که مسیر گزارش ذخیره شده را نمایش میدهد (برای مثال،
/sdcard/verifierReports/ctsVerifierReport-date-time.zip)، سپس مسیر را ثبت کنید.DUT را به کامپیوتر لینوکس وصل کنید.
از طریق نصب Android SDK روی رایانه لینوکس، گزارشها را از دستگاه متصل با استفاده از
adb shell content readیاadb pull CTSVerifierReportPathدانلود کنید.برای اندروید ۷.x و بالاتر، تمام گزارشها را با استفاده از دستور زیر دانلود کنید:
adb pull /sdcard/verifierReportsبرای اندروید ۶.۰ و پایینتر، تمام گزارشها را با استفاده از دستور زیر دانلود کنید:
adb pull /mnt/sdcard/ctsVerifierReports/برای اندروید ۱۰ و بالاتر، که از Automotive و دستگاههایی که به عنوان کاربر ثانویه اجرا میشوند، استفاده میکند، آخرین گزارش را با استفاده از دستور زیر دانلود کنید:
adb shell content read --user <var>CURRENT_USER</var> --uri content://com.android.cts.verifier.testresultsprovider/reports/latest > report.zipبرای فهرست کردن تمام گزارشهای موجود در دستگاه متصل:
adb shell content query --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports ``` To download a report from the list, you can specify the Row ID or filename. For example: ```shell adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports/0 > report.zip ``` ```shell adb shell content read --user CURRENT_USER --uri content://com.android.cts.verifier.testresultsprovider/reports ctsVerifierReport-date-time.zip > report.zip ```
برای پاک کردن نتایج قبولی یا ردی، نتایج را در برنامه CTS Verifier انتخاب کنید و Menu > Clear را انتخاب کنید.