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

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

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

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

تصویر زیر طراحی سطح بالای یک بسته CATBox را نشان می‌دهد.

CATBox

شکل ۱. بسته CATBox

تریدفد

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

چارچوب تست خودرو

CATBox بر اساس یک چارچوب تست خودرو به نام Spectatio ساخته شده است که APIهایی را برای تست برنامه‌های مختلف روی دستگاه‌های خودرو ارائه می‌دهد. این چارچوب بر پایه UI Automator ، یک چارچوب تست متن‌باز، ساخته شده است که مجموعه‌ای از APIها را برای ساخت تست‌های رابط کاربری که با برنامه‌های کاربر و سیستم تعامل دارند، فراهم می‌کند.

دانلودهای مجموعه تست CATBox

اندروید ۱۴

اندروید اتوموتیو ۱۴، نسخه‌ای از نقطه عطف توسعه با نام رمز U است. برای دانلود مجموعه‌های آزمایشی CATBox برای اندروید ۱۴ از لینک‌های زیر استفاده کنید:

اندروید ۱۲

اندروید ۱۲، نسخه‌ای از نقطه عطف توسعه با نام رمز S است. برای دانلود مجموعه‌های آزمایشی CATBox برای اندروید ۱۲ از لینک‌های زیر استفاده کنید:

اندروید ۱۱

اندروید ۱۱، نسخه‌ای از نقطه عطف توسعه با نام رمز R است. برای دانلود مجموعه‌های آزمایشی CATBox برای اندروید ۱۱ از لینک‌های زیر استفاده کنید:

ساخت CATBox

پس از اینکه کد AOSP اندروید روی کامپیوتر محلی در دسترس قرار گرفت، از دستور catbox build استفاده کنید.

برای ساخت بسته 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. مطمئن شوید که نسخه‌های اخیر هر دو ابزار Android Debug Bridge (adb) و Android Asset Packaging Tool (AAPT) را نصب کرده‌اید، و همچنین مکان این ابزارها را به مسیر سیستم دستگاه خود اضافه کرده‌اید. برای جزئیات بیشتر، به ADB و AAPT مراجعه کنید.

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

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

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

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

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

      adb -s DEVICE_SERIAL root

      DEVICE_SERIAL با Serial ID مربوط به دستگاه خودرو جایگزین کنید.

    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 تست عملکرد راه‌اندازی سرد برنامه برای شماره‌گیر و تلفن.
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