تستهای کامل خودرو در یک جعبه (CATBox) یک بسته متنباز است که چارچوبها و ابزارهای مورد نیاز برای سادهسازی و اجرای تستهای خودرو با حداقل پیکربندی را فراهم میکند. CATBox مقیاسپذیر و سازگار با ابزارها، زیرساختها و تستهایی است که شما برای آزمایش و اعتبارسنجی پیادهسازیهای سیستم عامل اندروید خودرو (AAOS) خود استفاده میکنید. در نتیجه، میتوانید محصولات با کیفیتی را به بازار ارائه دهید.
طراحی و پیادهسازی CATBox
مجموعه تست CATBox ابزارها، چارچوبها و تستهای مورد نیاز برای اجرای تستهای عملکردی و عملکردی را روی یک دستگاه هدف خودرو و در حین استفاده از یک دستگاه همراه فراهم میکند.
تصویر زیر طراحی سطح بالای یک بسته CATBox را نشان میدهد.

شکل ۱. بسته CATBox
تریدفد
Tradefed یک چارچوب تست مداوم متنباز است که برای اجرای تستها روی دستگاههای اندروید استفاده میشود. برای جزئیات بیشتر، به نمای کلی فدراسیون تجارت مراجعه کنید.
چارچوب تست خودرو
CATBox بر اساس یک چارچوب تست خودرو به نام Spectatio ساخته شده است که APIهایی را برای تست برنامههای مختلف روی دستگاههای خودرو ارائه میدهد. این چارچوب بر پایه UI Automator ، یک چارچوب تست متنباز، ساخته شده است که مجموعهای از APIها را برای ساخت تستهای رابط کاربری که با برنامههای کاربر و سیستم تعامل دارند، فراهم میکند.
دانلودهای مجموعه تست CATBox
اندروید ۱۴
اندروید اتوموتیو ۱۴، نسخهای از نقطه عطف توسعه با نام رمز U است. برای دانلود مجموعههای آزمایشی CATBox برای اندروید ۱۴ از لینکهای زیر استفاده کنید:
اندروید ۱۲
اندروید ۱۲، نسخهای از نقطه عطف توسعه با نام رمز S است. برای دانلود مجموعههای آزمایشی CATBox برای اندروید ۱۲ از لینکهای زیر استفاده کنید:
اندروید ۱۱
اندروید ۱۱، نسخهای از نقطه عطف توسعه با نام رمز R است. برای دانلود مجموعههای آزمایشی CATBox برای اندروید ۱۱ از لینکهای زیر استفاده کنید:
ساخت CATBox
پس از اینکه کد AOSP اندروید روی کامپیوتر محلی در دسترس قرار گرفت، از دستور catbox build استفاده کنید.
برای ساخت بسته CATBox به صورت محلی:
بر اساس معماری دستگاه، Device Target را انتخاب کنید و دستور زیر را اجرا کنید:
lunch <target>برای ساخت CATBox، دستور زیر را اجرا کنید:
make catboxاین دستور فایل
android-catbox.zipرا در دایرکتوری/out/host/linux-x86/catboxایجاد میکند که میتوان از آن برای اجرای تستها استفاده کرد.
محیط را تنظیم کنید
تنظیمات محیطی مورد نیاز برای اجرای تستهای CATBox مشابه تنظیمات CTS است. برای تنظیمات محیط، هر یک از کارهای زیر را انجام دهید:
ADB و AAPT را نصب کنید.
JDK را نصب کنید. به کیت توسعه جاوا برای اوبونتو مراجعه کنید.
محدودیت حافظه را افزایش دهید. به الزامات ذخیرهسازی مراجعه کنید.
راهاندازی و اجرای CATBox
از چارچوب تست Tradefed برای اجرای تستها روی دستگاههای اندروید استفاده کنید. قبل از راهاندازی CATBox، به نمای کلی فدراسیون تجارت مراجعه کنید.
برای راهاندازی و اجرای CATBox، به بخشهای زیر مراجعه کنید.
دستگاه را تنظیم کنید
قبل از اجرای طرح آزمایشی، مراحل زیر را برای راهاندازی دستگاه خود انجام دهید:
مطمئن شوید که نسخههای اخیر هر دو ابزار Android Debug Bridge (adb) و Android Asset Packaging Tool (AAPT) را نصب کردهاید، و همچنین مکان این ابزارها را به مسیر سیستم دستگاه خود اضافه کردهاید. برای جزئیات بیشتر، به ADB و AAPT مراجعه کنید.
حداقل یک دستگاه را وصل کنید و دستگاه تحت آزمایش (DUT) را به شرح زیر آماده کنید:
برای تنظیم مجدد کارخانه دستگاه خودرو، به تنظیمات > سیستم > گزینههای تنظیم مجدد > پاک کردن همه دادهها بروید.
صبر کنید تا دستگاه به طور خودکار راه اندازی مجدد شود.
مطمئن شوید که adb فعال است. برای تأیید اینکه دستگاه در دسترس است، دستور زیر را اجرا کنید:
adb devicesبرای فعال کردن دسترسی روت، دستور زیر را اجرا کنید:
adb -s DEVICE_SERIAL rootDEVICE_SERIALبا Serial ID مربوط به دستگاه خودرو جایگزین کنید.به وایفای وصل شوید.
بسته CATBox را استخراج کنید
پس از راهاندازی دستگاه، بسته CATBox را از حالت فشرده خارج کرده و به پوشه استخراج شده بروید:
unzip android-catbox.zip
cd android-catboxاجرای تستها در CATBox
برای اجرای CATBox با برنامههای آزمایشی موجود در بسته CATBox:
./tools/catbox-tradefed run commandAndExit TEST_PLAN_NAME --serial DEVICE_SERIAL DEVICE_SERIAL با شناسه سریال دستگاه خودرو جایگزین کنید. اگر چندین دستگاه به دستگاه میزبان متصل هستید، DEVICE_SERIAL برای تمایز آنها استفاده کنید. TEST_PLAN_NAME را با نام طرح آزمایشی که میخواهید اجرا کنید جایگزین کنید.
برای دریافت کاملترین لیست از طرحهای موجود، از خط فرمان استفاده کنید:
./tools/catbox-tradefed list plans | grep -i catboxانواع طرحهای آزمایشی
جدول زیر طرحهای آزمون عملکردی موجود را نمایش میدهد.
| طرحهای آزمون عملکردی | توضیحات |
|---|---|
catbox-functional | آزمونهای عملکردی. |
catbox-functional-app-info-setting | تنظیمات اطلاعات برنامه، تستهای عملکردی. |
catbox-functional-admin-user-grant-permissions | کاربر مدیر، مجوزهای لازم را برای تستهای عملکردی اعطا میکند. |
catbox-functional-app-info-setting-ui-elements | تنظیمات اطلاعات برنامه، تستهای عملکردی. |
catbox-functional-appgrid | تستهای عملکردی شبکه برنامه. |
catbox-functional-base | فهرست آزمونهای عملکردی |
catbox-functional-bluetooth-audio | تستهای عملکردی صدای بلوتوث. |
catbox-functional-bluetooth-palette | تستهای عملکردی نوار وضعیت. |
catbox-functional-bluetooth-tests | تست بلوتوث با استفاده از Mobly. |
catbox-functional-brightness-palette | تستهای عملکردی نوار وضعیت. |
catbox-functional-btmoped | آزمونهای عملکردی مبتنی بر موتورگازی بلوتوث. |
catbox-functional-date-time-setting | تنظیم تاریخ و زمان، آزمونهای عملکردی. |
catbox-functional-dial | آزمونهای عملکردی را شمارهگیری کنید. |
catbox-functional-display-setting | تنظیمات نمایش، آزمونهای عملکردی. |
catbox-functional-driving-optimized-apps | آزمونهای عملکردی محدودیت UX. |
catbox-functional-enable-developers-option | گزینه توسعهدهندگان برای تستهای عملکردی را فعال کنید. |
catbox-functional-home | آزمونهای عملکردی خانگی. |
catbox-functional-lock-screen | تستهای عملکردی قفل صفحه نمایش |
catbox-functional-mediacenter | تستهای عملکردی مرکز رسانه |
catbox-functional-microphone-recent-apps | تستهای عملکردی تنظیمات میکروفون |
catbox-functional-microphone-setting | تستهای عملکردی تنظیمات میکروفون |
catbox-functional-multiuser | آزمونهای عملکردی چندکاربره |
catbox-functional-multiuser-system-user | آزمونهای عملکردی چندکاربره |
catbox-functional-navigation-bar | تستهای عملکردی نوار ناوبری |
catbox-functional-network-palette | تستهای عملکردی نوار وضعیت. |
catbox-functional-network-setting | تستهای عملکردی تنظیمات شبکه |
catbox-functional-notification | آزمونهای عملکردی اعلانها |
catbox-functional-privacy-permission-manager | تستهای عملکردی تنظیمات مجوزهای برنامه حریم خصوصی. |
catbox-functional-privacy-setting | تستهای عملکردی تنظیمات میکروفون |
catbox-functional-privacy-setting-ui-elements | آزمونهای عملکردی تنظیم حریم خصوصی. |
catbox-functional-profile-icon | تستهای عملکردی نوار آیکون پروفایل. |
catbox-functional-profiles-icon-list | تستهای فهرست آیکونهای پروفایل. |
catbox-functional-security-setting | تستهای عملکردی تنظیمات امنیتی. |
catbox-functional-setting | تنظیم آزمونهای عملکردی |
catbox-functional-settings-location | تنظیم تستهای مکان. |
catbox-functional-sound-setting | آزمونهای عملکردی تنظیم صدا. |
catbox-functional-status-bar | تستهای عملکردی نوار وضعیت. |
catbox-functional-storage-setting | آزمونهای عملکردی تنظیمات ذخیرهسازی. |
catbox-functional-system-setting | آزمونهای عملکردی تنظیم سیستم. |
catbox-functional-systemui | تستهای رابط کاربری سیستم |
catbox-functional-ux-restriction | آزمونهای عملکردی محدودیت UX. |
catbox-functional-ux-restriction-facet-bar | آزمونهای عملکردی محدودیت UX. |
جدول زیر طرحهای تست عملکرد CATBox را فهرست میکند.
| طرحهای آزمون عملکردی | توضیحات |
|---|---|
catbox-performance-cold-app-start-up-dialer | تست عملکرد راهاندازی سرد برنامه برای شمارهگیر و تلفن. |
catbox-performance-cold-app-start-up-mediacenter | تست عملکرد راهاندازی سرد برنامه برای مرکز رسانه. |
catbox-performance-cold-app-start-up-settings | تست عملکرد راهاندازی سرد برنامه برای تنظیمات. |
catbox-performance-create-and-switch-to-new-guest | تأخیر برای تغییر به مهمان جدید را اندازهگیری کنید. |
catbox-performance-create-and-switch-to-new-user | اندازهگیری تأخیر برای تغییر به یک کاربر جدید غیر ادمین. |
catbox-performance-hot-app-start-up-dialer | تست عملکرد راهاندازی سریع برنامه برای شمارهگیر و تلفن. |
catbox-performance-hot-app-start-up-mediacenter | تست عملکرد راهاندازی برنامهی داغ برای مدیا سنتر. |
catbox-performance-hot-app-start-up-settings | تست عملکرد راهاندازی سریع برنامه برای تنظیمات. |
catbox-performance-jank-appgrid | تست عملکرد برای Appgrid. |
catbox-performance-jank-contact-list | تست عملکرد برای مخاطبین. |
catbox-performance-jank-media | آزمونهای عملکرد برای رسانهها |
catbox-performance-jank-media-switch-playback | تست عملکرد برای پخش سوئیچ رسانه. |
catbox-performance-jank-notifications | تست عملکرد برای اعلانها. |
catbox-performance-jank-settings | تست عملکرد برای تنظیمات. |
catbox-performance-switch-to-existing-user | اندازهگیری تأخیر برای تغییر به یک کاربر موجود. |
تست سمت میزبان چند دستگاهی را اجرا کنید
اجرای تستهای سمت میزبان چند دستگاهی از CATBox برای اجرای تست در یک جلسه استفاده میکند. به عنوان مثال، BTDiscoveryTest :
make catbox
./tools/catbox-tradefed run commandAndExit catbox-functional-bluetooth-tests --{phone}serial <serial> --{auto}serial <serial> --mobly-host:mobly-par-file-name BTDiscoveryTest CATBox apk را نصب میکند و سپس تست در محیط اجرای صحیح پایتون اجرا میشود.
نتایج آزمون CATBox را بررسی کنید
نتایج تستهای عملکردی و عملکردی در android-catbox/results/latest ذخیره میشوند.
| نوع نتیجه | مکان |
|---|---|
| نتایج آزمایش | test_result.xml |
| جزئیات تستهای شکست | test_result_failures_suite.html |
| نتایج معیارهای عملکرد | /report-log-files/CatboxPerformanceTests.reportlog.json |
| اجرای تستهای عملکردی و عملکردی | /android-catbox/logs/latest |