השלמת בדיקות רכב בקופסה

complete Automotive Test in a Box (CATBox) הוא חבילת קוד פתוח מספקת את המסגרות והכלים הנדרשים כדי לייעל ולהוציא לפועל את כלי הרכב בדיקות עם תצורה מינימלית. CATBox ניתן להתאמה ותואמת כלים, תשתית ובדיקות שבהם אתם משתמשים כדי לבדוק ולאמת את מערכת Android הטמעות של Automotive OS (AAOS). לכן אפשר לספק ללקוחות המוצרים לזירת המסחר.

עיצוב והטמעה של CATBox

חבילת הבדיקות של CATBox מספקת את הכלים, ה-frameworks והבדיקות שנדרשים כדי לבצע בדיקות פונקציונליות וביצועים במכשיר יעד מכלי רכב בזמן השימוש במכשיר נלווה.

התמונה הבאה ממחישה עיצוב ברמה גבוהה של חבילת CATBox.

תיבת CATBox

איור 1. חבילת CATBox

מסחר

פרוטוקול triF הוא מסגרת בדיקה רציפה (CD) בקוד פתוח שמשמשת לביצוע בדיקות על מכשירי Android לפרטים נוספים, אפשר לעיין במאמר סקירה כללית של איגוד הסחר.

מסגרת בדיקה לכלי רכב

CATBox מבוסס על מסגרת לבדיקת Automotive שנקראת Spectatio, שמספק ממשקי API לבדיקה אפליקציות שונות במכשירים מתחום כלי הרכב. הוא מבוסס על מתוך UI Automator, מסגרת בדיקה בקוד פתוח, שמספקת קבוצה של ממשקי API לבניית בדיקות של ממשק משתמש שמקיימים אינטראקציה עם אפליקציות של משתמשים ומערכת.

הורדות של חבילות הבדיקה של CATBox

Android 14

Android Automotive 14 היא הגרסה של שם קוד ה-U. כדי להוריד, אפשר להשתמש בקישורים הבאים חבילות בדיקה של CATBox ל-Android 14:

12 ‏Android

Android 12 היא ההשקה של אבן הדרך לפיתוח S. בקישורים הבאים אפשר להוריד חבילות בדיקה של CATBox עבור Android 12:

Android 11

Android 11 היא הגרסה של R. משתמשים ב בקישורים הבאים להורדת חבילות בדיקה של CATBox ל-Android 11:

בניית CATBox

אפשר להשתמש בפקודת ה-build של catbox כשקוד ה-AOSP של Android זמין תחנת עבודה מקומית.

כדי לפתח את חבילת CATBox באופן מקומי:

  1. בוחרים את יעד המכשיר בהתאם לארכיטקטורת המכשיר ומריצים את הפקודה הבאה:

    lunch <target>
    
  2. כדי ליצור את CATBox, מריצים את הפקודה הבאה:

    make catbox
    

    הפקודה הזו יוצרת את הקובץ android-catbox.zip הספרייה /out/host/linux-x86/catbox, שאפשר להשתמש בה כדי להריץ בדיקות.

הגדרת הסביבה

הגדרת הסביבה שנדרשת להפעלת בדיקות CATBox דומה לזו הגדרת CTS. כדי להגדיר יש לבצע כל אחת מהמשימות הבאות:

הגדרה והפעלה של CATBox

כדי להריץ את הבדיקות במכשירי Android, משתמשים ב-framework של בדיקה ל-Trended. לפני שמתחילים כדי להגדיר את CATBox תוכלו לקרוא את הסקירה הכללית של Trade Federation.

כדי להגדיר ולהריץ את CATBox, ראו את הקטעים הבאים.

הגדרת המכשיר

לפני שמפעילים תוכנית בדיקה, צריך לפעול לפי השלבים הבאים כדי להגדיר את המכשיר:

  1. חשוב לוודא שהתקנתם את הגרסאות האחרונות של גשר לניפוי באגים ב-Android (adb) את הרצף Android Asset Packaging Tool (AAPT), וגם הוסיפו את המיקום של הכלים האלה לנתיב המערכת של במחשב. פרטים נוספים זמינים במאמר ADB ו-AAPT.

  2. צריך לחבר מכשיר אחד לפחות ולהכין את המכשיר בבדיקה (DUT) בתור ככה:

    1. כדי לאפס את מכשיר הרכב להגדרות המקוריות, צריך לעבור אל הגדרות > מערכת > איפוס אפשרויות > מחיקת כל הנתונים.

    2. ממתינים עד שהמכשיר יופעל מחדש באופן אוטומטי.

    3. צריך לוודא ש-adb מופעל. כדי לוודא שהמכשיר זמין, מריצים את הפקודה הבאה:

      adb devices
      
    4. כדי להפעיל את הרמה הבסיסית (root), מריצים את הפקודה הבאה:

      adb -s DEVICE_SERIAL root
      

      מחליפים את DEVICE_SERIAL במזהה הסידורי של מכשיר לרכב.

    5. מתחברים ל-Wi-Fi.

חילוץ חבילת 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 בדיקות פונקציונליות של אודיו Bluetooth.
catbox-functional-bluetooth-palette בדיקות פונקציונליות של שורת הסטטוס.
catbox-functional-bluetooth-tests בדיקות Bluetooth באמצעות Mobly.
catbox-functional-brightness-palette בדיקות פונקציונליות של שורת הסטטוס.
catbox-functional-btmoped בדיקות פונקציונליות המבוססות על טוסטוס Bluetooth.
catbox-functional-date-time-setting הגדרת תאריך ושעה לביצוע בדיקות פונקציונליות.
catbox-functional-dial חיוג לבדיקות פונקציונליות.
catbox-functional-display-setting בדיקות פונקציונליות של ההגדרות במסך.
catbox-functional-driving-optimized-apps בדיקות פונקציונליות להגבלת חוויית המשתמש.
catbox-functional-enable-developers-option הפעלת בדיקות פונקציונליות של אפשרויות למפתחים.
catbox-functional-home בדיקות פונקציונליות ביתיות.
catbox-functional-lock-screen בדיקות פונקציונליות של מסך הנעילה.
catbox-functional-mediacenter בדיקות פונקציונליות של Media Center.
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 בדיקות פונקציונליות להגבלת חוויית המשתמש.
catbox-functional-ux-restriction-facet-bar בדיקות פונקציונליות להגבלת חוויית המשתמש.

בטבלה הבאה מפורטות תוכניות בדיקת הביצועים של CATBox.

תוכניות לבדיקת ביצועים תיאור
catbox-performance-cold-app-start-up-dialer בדיקת ביצועים של הפעלה במצב התחלתי (cold start) של האפליקציה לחייגן ולטלפון.
catbox-performance-cold-app-start-up-mediacenter בדיקת ביצועים של הפעלה במצב התחלתי של אפליקציה עבור Media Center.
catbox-performance-cold-app-start-up-settings בדיקת ביצועים של הפעלה במצב התחלתי (cold start) של ההגדרות.
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 בדיקת ביצועים של הפעלה של אפליקציה חמה עבור 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 ולאחר מכן את הבדיקה מתבצעת ב-Python הנכון. בסביבת הביצוע.

בדיקת תוצאות הבדיקה של CATBox

התוצאות של הפעלות של בדיקות פונקציונליות ושל בדיקות ביצועים נשמרות android-catbox/results/latest

סוג התוצאות מיקום
תוצאות בדיקה test_result.xml
פרטים על בדיקות שנכשלו test_result_failures_suite.html
התוצאות של מדדי הביצועים /report-log-files/CatboxPerformanceTests.reportlog.json
הפעלות של בדיקות פונקציונליות וביצועים /android-catbox/logs/latest