Complete Automotive Tests in a Box (CATBox) היא חבילה בקוד פתוח שמספקת את המסגרות והכלים הנדרשים לביצוע בדיקות רכב בצורה יעילה עם הגדרה מינימלית. CATBox ניתנת להתאמה ותואמת לכלים, לתשתית ולבדיקות שבהם אתם משתמשים כדי לבדוק ולאמת את הטמעות Android Automotive OS (AAOS). כתוצאה מכך, תוכלו לספק מוצרים באיכות גבוהה לזירת המסחר.
עיצוב והטמעה של CATBox
חבילת הבדיקות של CATBox מספקת את הכלים, המסגרות והבדיקות הנדרשים לביצוע בדיקות פונקציונליות ובדיקות ביצועים במכשיר יעד לכלי רכב, וגם במכשיר נלווה.
בתמונה הבאה מוצגת תצוגה כללית של חבילת CATBox.
איור 1. חבילת CATBox
Tradefed
Tradefed היא מסגרת בדיקה רציפה בקוד פתוח שמשמשת להרצת בדיקות במכשירי Android. פרטים נוספים זמינים במאמר סקירה כללית על איחוד שירותי המסחר.
מסגרת בדיקה לכלי רכב
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:
פיתוח CATBox
משתמשים בפקודת ה-build catbox
אחרי שקוד Android AOSP זמין בתחנת העבודה המקומית.
כדי ליצור את החבילה של CATBox באופן מקומי:
בוחרים את הטירגוט למכשיר בהתאם לארכיטקטורה של המכשיר ומריצים את הפקודה הבאה:
lunch <target>
כדי ליצור את CATBox, מריצים את הפקודה הבאה:
make catbox
הפקודה הזו יוצרת את הקובץ
android-catbox.zip
בספרייה/out/host/linux-x86/catbox
, שבו אפשר להשתמש כדי להריץ בדיקות.
הגדרת הסביבה
הגדרת הסביבה הנדרשת להרצת בדיקות CATBox דומה להגדרת CTS. כדי להגדיר את הסביבה, מבצעים את כל המשימות הבאות:
מתקינים את ADB ו-AAPT.
מתקינים את JDK. Java Development Kit ל-Ubuntu
הגדלת מגבלת הזיכרון. דרישות האחסון
הגדרה והרצה של CATBox
משתמשים במסגרת הבדיקה של Tradefed כדי להריץ את הבדיקות במכשירי 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 Moped. |
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 |
בדיקת ביצועים של הפעלה קרה של אפליקציות Dialer ו-Phone. |
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 |
בדיקת ביצועים של הפעלת אפליקציות חמות ב-Dialer וב-Phone. |
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 |