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

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

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

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

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

CATBox

شکل 1. بسته CATBox

معامله شد

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

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

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

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

اندروید 12

Android 12 انتشار نقطه عطف توسعه با اسم رمز S است. برای دانلود مجموعه تست CATBox برای اندروید 12 از لینک های زیر استفاده کنید:

اندروید 11

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

ساخت CATBox

هنگامی که کد AOSP Android در ایستگاه کاری محلی در دسترس است از دستور ساخت catbox استفاده کنید. برای ساخت بسته CATBox به صورت محلی:

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

    # Select Device Target Based on Device Architecture
    $ lunch <target>
    
  2. برای ساخت CATBox دستور زیر را اجرا کنید:

    # Build 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، دستور زیر را اجرا کنید:

      # Enable Root
      $ adb -s DEVICE_SERIAL root
      

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

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

بسته CATBox را استخراج کنید

پس از اتمام تنظیمات دستگاه، بسته CATBox را از حالت فشرده خارج کرده و به پوشه استخراج شده بروید:

# Extract the CATBox Package
$ unzip android-catbox.zip

# Navigate to extracted CATBox Package
$ 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-notification
catbox-functional-setting
catbox-functional-dial
catbox-functional-system-setting
catbox-functional-app-info-setting
catbox-functional-network-setting
catbox-functional-security-setting
catbox-functional-sound-setting
catbox-functional-date-time-setting
catbox-functional-appgrid
catbox-functional-home
catbox-functional-lock-screen
catbox-functional-navigation-bar
catbox-functional-ux-restriction
catbox-functional-bluetooth-audio
برنامه های تست عملکرد catbox-performance-cold-app-start-up-settings
catbox-performance-hot-app-start-up-settings
catbox-performance-jank-settings
catbox-performance-cold-app-start-up-dialer
catbox-performance-hot-app-start-up-dialer
catbox-performance-jank-contact-list
catbox-performance-jank-notifications
catbox-performance-jank-appgrid
catbox-performance-cold-app-start-up-mediacenter
catbox-performance-hot-app-start-up-mediacenter
catbox-performance-create-and-switch-to-new-guest
catbox-performance-create-and-switch-to-new-user
catbox-performance-create-and-switch-to-precreated-guest
catbox-performance-create-and-switch-to-precreated-user
catbox-performance-switch-to-existing-user

نتایج تست CATBox

نتایج تست در android-catbox/results/latest برای اجرای تست عملکردی و عملکردی ذخیره می‌شود.

  • برای نتایج آزمایش، به test_result.xml مراجعه کنید.
  • برای جزئیات تست های شکست، test_result_failures_suite.html را ببینید.
  • برای نتایج معیارهای عملکرد، CatboxPerformanceTests.reportlog.json را در فهرست گزارش- report-log-files ببینید.

گزارش‌ها در مسیر android-catbox/logs/latest برای اجرای تست عملکردی و عملکردی ذخیره می‌شوند.

برخی از آزمایش‌ها مانند شماره‌گیری، بلوتوث صوتی، و تست‌های جابجایی فهرست مخاطبین نیاز به تنظیم دستگاه اضافی دارند.

تست شماره گیری

تست Dial به تنظیمات دستگاه و پارامترهای زمان اجرا نیاز دارد. برای راه اندازی دستگاه:

  1. دستگاه تلفن همراه را از طریق بلوتوث به هد یونیت Automotive متصل کنید.
  2. مطمئن شوید که تلفن آزمایشی دارای یک سیم کارت برای اجرای تست های شماره گیری است و به شبکه تلفن همراه متصل است.
  3. تست شماره گیری از مخاطبین پیش فرض ذخیره شده در تلفن استفاده می کند. از contacts.vcf برای بارگیری مخاطبین در تلفن استفاده کنید.
  4. COMPANION_SERIAL را با شناسه سریال گوشی جایگزین کنید و دستورات زیر را اجرا کنید:

    # Contacts can be loaded on the phone by pushing the contacts.vcf file on
    the phone and importing it in the Contacts application.
    
    OR
    
    # Importing contacts using adb.
    
    # Push contacts VCF file to phone
    
    $ adb -s COMPANION_SERIAL push <path-to-downloaded-contacts-vcf-file> /storage/emulated/0/Android/data/com.google.android.contacts/contacts.vcf
    
    # Grant Read Permissions
    
    $ adb -s COMPANION_SERIAL shell pm grant com.google.android.contacts
    android.permission.READ_EXTERNAL_STORAGE
    
    # Import contacts from the VCF file
    
    $ adb -s COMPANION_SERIAL shell am start-activity -W -t 'text/x-vcard' -d file:///storage/emulated/0/Android/data/com.google.android.contacts/contacts.vcf
    -a android.intent.action.VIEW com.google.android.contacts
    
    # Then accept the prompts on the UI to load the contacts.
    
پارامترهای زمان اجرا

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

Parameters for Large Phone Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:large-phone-number:=< 10 digit phone number>

Parameters for Small Phone Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:small-phone-number:=< 3 digit phone number>

Parameters for Search Contact Name:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:search-contact-name:=< some contact name stored on the phone >

Parameters for Search Contact Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:search-contact-number:=< contact number of the name provided in the search contact name >

تست صوتی بلوتوث

برای راه‌اندازی دستگاهی برای تست صدای بلوتوث:

  1. مطمئن شوید که برنامه YouTube Music روی گوشی نصب شده باشد و به حساب کاربری وارد شده باشید. اگر نه، برنامه را نصب کنید و به حساب کاربری وارد شوید.
  2. تلفن را به صورت دستی از طریق بلوتوث با دستگاه خودرو جفت کنید.
  3. پس از جفت شدن تلفن، آهنگی را در تلفن پخش کنید و سپس شروع به اجرای آزمایش کنید.

تست jank لیست مخاطبین

برای راه‌اندازی دستگاهی برای تست jank فهرست مخاطبین:

  1. مطمئن شوید که تلفن چندین مخاطب دارد تا آزمایش بتواند در لیست مخاطبین برای جمع‌آوری معیارهای jank حرکت کند.
  2. تلفن را به صورت دستی از طریق بلوتوث با دستگاه خودرو جفت کنید.
  3. پس از جفت شدن تلفن، می توان به مخاطبین در دستگاه دسترسی داشت.