Complete Automotive Tests in a Box (CATBox) היא חבילת קוד פתוח שמספקת את המסגרות והכלים שנדרשים לייעול של בדיקות לרכב ולביצוע שלהן עם מינימום הגדרות. CATBox הוא כלי שניתן להתאמה ומתאים לכלים, לתשתית ולבדיקות שבהם אתם משתמשים כדי לבדוק ולאמת את ההטמעות של מערכת ההפעלה Android Automotive (AAOS). כתוצאה מכך, תוכלו לספק מוצרים באיכות גבוהה לזירת המסחר.
העיצוב וההטמעה של 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 באופן מקומי:
בוחרים את יעד המכשיר על סמך ארכיטקטורת המכשיר ומריצים את הפקודה הבאה:
lunch <target>
כדי ליצור את CATBox, מריצים את הפקודה הבאה:
make catbox
הפקודה הזו יוצרת את הקובץ
android-catbox.zip
בספרייה/out/host/linux-x86/catbox
, שאפשר להשתמש בו כדי להריץ בדיקות.
הגדרת הסביבה
הגדרת הסביבה שנדרשת להרצת בדיקות CATBox דומה להגדרת CTS. כדי להגדיר את הסביבה, מבצעים את כל המשימות הבאות:
מתקינים את ADB ו-AAPT.
מתקינים JDK. Java Development Kit for Ubuntu
הגדלת מגבלת הזיכרון. דרישות אחסון
הגדרה והרצה של CATBox
משתמשים ב-Tradefed test framework כדי להריץ את הבדיקות במכשירי Android. לפני שמגדירים את CATBox, כדאי לעיין בסקירה הכללית על Trade Federation.
הוראות להגדרה ולהרצה של CATBox מופיעות בקטעים הבאים.
הגדרת המכשיר
לפני שמריצים תוכנית בדיקה, צריך לבצע את השלבים הבאים כדי להגדיר את המכשיר:
חשוב לוודא שהתקנתם את הגרסאות האחרונות של Android Debug Bridge (adb) ושל Android Asset Packaging Tool (AAPT), וגם הוספתם את המיקום של הכלים האלה לנתיב המערכת של המחשב. לפרטים נוספים, ראו ADB ו-AAPT.
מחברים לפחות מכשיר אחד ומכינים את המכשיר הנבדק (DUT) באופן הבא:
כדי לאפס את המכשיר לרכב להגדרות המקוריות, עוברים אל הגדרות > מערכת > אפשרויות איפוס > מחיקת כל הנתונים.
ממתינים שהמכשיר יופעל מחדש באופן אוטומטי.
מוודאים ש-adb מופעל. כדי לוודא שהמכשיר זמין, מריצים את הפקודה הבאה:
adb devices
כדי להפעיל את root, מריצים את הפקודה הבאה:
adb -s DEVICE_SERIAL root
מחליפים את
DEVICE_SERIAL
במזהה הסידורי של המכשיר לרכב.מתחברים ל-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 |