تست های خودرو را در یک جعبه کامل کنید

Complete Automotive Tests in a Box (CATBox) یک بسته منبع باز است که چارچوب ها و ابزارهای مورد نیاز برای ساده سازی و اجرای تست های خودرو با حداقل پیکربندی را فراهم می کند. CATBox مقیاس پذیر و سازگار با ابزارها، زیرساخت ها و تست هایی است که برای آزمایش و اعتبارسنجی پیاده سازی های سیستم عامل Android Automotive (AAOS) خود استفاده می کنید. در نتیجه می توانید محصولات باکیفیت را به بازار عرضه کنید.

طراحی و پیاده سازی CATBox

مجموعه تست 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 به صورت محلی:

  1. Device Target را بر اساس معماری دستگاه انتخاب کنید و دستور زیر را اجرا کنید:

    lunch <target>
    
  2. برای ساختن CATBox دستور زیر را اجرا کنید:

    make catbox
    

    این دستور فایل android-catbox.zip را در دایرکتوری /out/host/linux-x86/catbox ایجاد می‌کند که می‌تواند برای اجرای آزمایش‌ها استفاده شود.

محیط را تنظیم کنید

تنظیمات محیطی مورد نیاز برای اجرای تست های CATBox مشابه راه اندازی CTS است. برای تنظیم محیط، هر یک از وظایف زیر را انجام دهید:

CATBox را راه اندازی و اجرا کنید

از چارچوب تست Tradefed برای اجرای تست ها در دستگاه های اندرویدی استفاده کنید. قبل از راه اندازی CATBox، به نمای کلی فدراسیون تجارت مراجعه کنید.

برای راه اندازی و اجرای CATBox به بخش های زیر مراجعه کنید.

دستگاه را راه اندازی کنید

قبل از اجرای طرح آزمایشی، مراحل زیر را برای تنظیم دستگاه خود انجام دهید:

  1. مطمئن شوید که نسخه های اخیر پل اشکال زدایی اندروید (adb) و ابزار بسته بندی دارایی اندروید (AAPT) را نصب کرده اید و همچنین مکان این ابزارها را به مسیر سیستم دستگاه خود اضافه کرده اید. برای جزئیات، به ADB و AAPT مراجعه کنید.

  2. حداقل یک دستگاه را وصل کنید و دستگاه تحت آزمایش (DUT) را به شرح زیر آماده کنید:

    1. برای بازنشانی کارخانه‌ای دستگاه خودرو، به تنظیمات > سیستم > گزینه‌های بازنشانی > پاک کردن همه داده‌ها بروید.

    2. منتظر بمانید تا دستگاه به طور خودکار راه اندازی مجدد شود.

    3. مطمئن شوید که adb فعال است. برای اطمینان از در دسترس بودن دستگاه، دستور زیر را اجرا کنید:

      adb devices
      
    4. برای فعال کردن root، دستور زیر را اجرا کنید:

      adb -s DEVICE_SERIAL root
      

      DEVICE_SERIAL با شناسه سریال دستگاه خودرو جایگزین کنید.

    5. به وای فای متصل شوید.

بسته 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