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

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

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

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

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

CATBox

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

Tradefed

‫Tradefed היא מסגרת בדיקה רציפה בקוד פתוח שמשמשת להרצת בדיקות במכשירי Android. פרטים נוספים זמינים במאמר סקירה כללית על Trade Federation.

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

‫CATBox מבוסס על מסגרת בדיקה לרכב שנקראת 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:

Build CATBox

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

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

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

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

    make catbox

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

הגדרת הסביבה

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

הגדרה והרצה של CATBox

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

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

הגדרת המכשיר

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

  1. חשוב לוודא שהתקנתם את הגרסאות האחרונות של Android Debug Bridge (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 בדיקות פונקציונליות של מרכז המדיה.
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 בדיקת ביצועים של הפעלה קרה של אפליקציות, במקרה הזה של אפליקציות חייגן וטלפון.
catbox-performance-cold-app-start-up-mediacenter בדיקת ביצועים של הפעלת אפליקציה במצב התחלתי (cold start) עבור 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