تأییدکننده مجموعه تست سازگاری اندروید (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 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تأیید کنید که تاریخ و زمان سیستم 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
کالیبره کردن میدان دید دوربین
از روش کالیبراسیون میدان دید برای تعیین سریع میدان دید دستگاه با دقت متوسط استفاده کنید.
محیط آزمایش را تنظیم کنید:
- فایل PDF الگوی کالیبراسیون را روی کاغذ 11 در 17 اینچ یا سایز A3 چاپ کنید.
- الگوی چاپ شده را روی یک پایه محکم نصب کنید.
دستگاه دوربین و تارگت چاپ شده را مطابق نمودار زیر تنظیم کنید:

شکل ۷. تارگت چاپ شده توسط دوربین.
عرض هدف را تنظیم کنید:
- فاصله (برحسب سانتیمتر) بین خطوط ممتد روی الگوی هدف را اندازهگیری کنید تا خطاهای چاپ (حدود ۳۸ سانتیمتر) را در نظر بگیرید.
- برنامه کالیبراسیون را شروع کنید.
- دکمه تنظیم را فشار دهید و فاصله نشانگر را انتخاب کنید.
- فاصله تا الگوی هدف (حدود ۱۰۰ سانتیمتر) را اندازهگیری و وارد کنید.
- برای بازگشت به پیشنمایش کالیبراسیون، دکمه بازگشت را فشار دهید.
مطمئن شوید که دستگاه و هدف مطابق شکل قرار گرفتهاند و فواصل صحیح در پنجره تنظیمات وارد شده است. پیشنمایش، تصویر را با یک خط عمودی روی آن نمایش میدهد؛ این خط باید با خط مرکزی الگوی هدف همتراز باشد. میتوان از شبکه شفاف به همراه سایر خطوط عمودی برای تأیید عمود بودن محور نوری بر هدف استفاده کرد.
تست کالیبراسیون را اجرا کنید:
- وضوح تصویر را انتخاب کنید (با استفاده از انتخابگر در پایین سمت چپ)، سپس برای گرفتن عکس روی صفحه ضربه بزنید. آزمایش وارد حالت کالیبراسیون میشود و عکس را با دو خط عمودی که روی تصویر قرار گرفتهاند، نمایش میدهد.
- تعیین دقت:
- اگر خطوط با خطوط عمودی روی الگوی هدف در فاصله چند سانتیمتر همراستا باشند، میدان دید گزارششده برای وضوح انتخابشده دقیق است.
- اگر خطوط همتراز نباشند، میدان دید گزارششده نادرست است. برای اصلاح این مشکل، نوار لغزنده را در پایین صفحه تنظیم کنید تا تصویر رویی تا حد امکان با الگوی هدف همتراز شود. هنگامی که تصویر رویی و الگوی هدف همتراز شوند، میدان دید نمایش دادهشده تقریباً به مقدار صحیح نزدیک است. میدان دید گزارششده باید در محدوده ۲ درجه از مقدار کالیبراسیون باشد.
- دکمه برگشت را فشار دهید و تست کالیبراسیون را برای تمام رزولوشنهای تصویر پشتیبانی شده توسط DUT تکرار کنید.
اجرای تأییدکننده 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 را انتخاب کنید.