Complete Automotive Tests in a Box (CATBox) یک بسته منبع باز است که چارچوب ها و ابزارهای مورد نیاز برای ساده سازی و اجرای تست های خودرو با حداقل پیکربندی را فراهم می کند. CATBox مقیاس پذیر و سازگار با ابزارها، زیرساخت ها و تست هایی است که برای آزمایش و اعتبارسنجی پیاده سازی های سیستم عامل Android Automotive (AAOS) خود استفاده می کنید. در نتیجه می توانید محصولات باکیفیت را به بازار عرضه کنید.
طراحی و پیاده سازی CATBox
مجموعه تست CATBox ابزارها، چارچوبها و تستهای مورد نیاز برای اجرای تستهای عملکردی و عملکردی روی دستگاه هدف خودرو و در حین استفاده از یک دستگاه همراه را فراهم میکند.
تصویر زیر طراحی سطح بالایی از یک بسته CATBox را نشان می دهد.
شکل 1. بسته CATBox
معامله شد
Tradefed یک چارچوب تست پیوسته منبع باز است که برای اجرای تست ها در دستگاه های اندرویدی استفاده می شود. برای جزئیات، به نمای کلی فدراسیون تجارت مراجعه کنید.
چارچوب تست خودرو
CATBox بر اساس یک چارچوب تست خودرو به نام Spectatio است که API هایی را برای آزمایش برنامه های مختلف در دستگاه های خودرو ارائه می دهد. این بر روی UI Automator ساخته شده است، یک چارچوب تست منبع باز، که مجموعه ای از API ها را برای ساخت تست های UI که با کاربر و برنامه های کاربردی سیستم تعامل دارند، ارائه می دهد.
دانلود مجموعه تست CATBox
اندروید 14
Android Automotive 14 انتشار نقطه عطف توسعه با نام رمز U است. برای دانلود مجموعه تست CATBox برای اندروید 14 از لینک های زیر استفاده کنید:
اندروید 12
اندروید 12 انتشار نقطه عطف توسعه با اسم رمز S است. برای دانلود مجموعه تست CATBox برای اندروید 12 از لینک های زیر استفاده کنید:
اندروید 11
اندروید 11 انتشار نقطه عطف توسعه با نام رمز R است. برای دانلود مجموعه تست CATBox برای اندروید 11 از لینک های زیر استفاده کنید:
ساخت CATBox
هنگامی که کد AOSP Android در ایستگاه کاری محلی در دسترس است، از دستور ساخت catbox
استفاده کنید.
برای ساخت بسته 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 به بخش های زیر مراجعه کنید.
دستگاه را راه اندازی کنید
قبل از اجرای طرح آزمایشی، مراحل زیر را برای تنظیم دستگاه خود انجام دهید:
مطمئن شوید که نسخه های اخیر پل اشکال زدایی اندروید (adb) و ابزار بسته بندی دارایی اندروید (AAPT) را نصب کرده اید و همچنین مکان این ابزارها را به مسیر سیستم دستگاه خود اضافه کرده اید. برای جزئیات، به ADB و AAPT مراجعه کنید.
حداقل یک دستگاه را وصل کنید و دستگاه تحت آزمایش (DUT) را به شرح زیر آماده کنید:
برای بازنشانی کارخانهای دستگاه خودرو، به تنظیمات > سیستم > گزینههای بازنشانی > پاک کردن همه دادهها بروید.
منتظر بمانید تا دستگاه به طور خودکار راه اندازی مجدد شود.
مطمئن شوید که adb فعال است. برای اطمینان از در دسترس بودن دستگاه، دستور زیر را اجرا کنید:
adb devices
برای فعال کردن root دستور زیر را اجرا کنید:
adb -s DEVICE_SERIAL root
DEVICE_SERIAL
با شناسه سریال دستگاه خودرو جایگزین کنید.به وای فای متصل شوید.
بسته 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 | تست عملکرد راه اندازی برنامه سرد برای Dialer و Phone. |
catbox-performance-cold-app-start-up-mediacenter | تست عملکرد راه اندازی برنامه سرد برای Media Center. |
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 | تست عملکرد راهاندازی برنامه داغ برای Dialer و Phone. |
catbox-performance-hot-app-start-up-mediacenter | تست عملکرد راهاندازی برنامه داغ برای Media Center. |
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 |