Total Automotive Tests in a Box (CATBox) هي حزمة مفتوحة المصدر توفّر الأطر والأدوات اللازمة لتبسيط وتنفيذ المهام في بيئة السيارات بأقل قدر من التهيئة. إنّ CATBox قابل للتطوير ومتوافق مع الأدوات والبنية الأساسية والاختبارات التي تستخدمها لاختبار نظام Android عمليات تطبيق نظام التشغيل Automotive (AAOS). وبالتالي، يمكنك تقديم معلومات عالية الجودة المنتجات إلى السوق.
تصميم تطبيق CATBox وتنفيذه
توفر مجموعة اختبار CATBox الأدوات وأطر العمل والاختبارات اللازمة إجراء اختبارات وظيفية واختبارات أداء على أحد الأجهزة المستهدفة للسيارات أثناء استخدام جهاز مصاحب.
توضح الصورة التالية تصميمًا عالي المستوى لحزمة CATBox.
الشكل 1. حزمة CATBox
مقايضة
Tradefed هو إطار عمل اختبار مستمر مفتوح المصدر يُستخدم لتنفيذ الاختبارات على أجهزة Android لمعرفة التفاصيل، يُرجى الاطّلاع على نظرة عامة على الاتحاد التجاري.
إطار عمل اختبار السيارات
يعتمد CATBox على إطار عمل اختباري للسيارات يسمى Spectatio التي توفّر واجهات برمجة تطبيقات للاختبار التطبيقات المختلفة على أجهزة السيارات. إنها تقوم على من UI Automator، يشير هذا المصطلح إلى إطار عمل اختباري مفتوح المصدر يوفّر مجموعة من واجهات برمجة التطبيقات لإنشاء اختبارات واجهة المستخدم. تتفاعل مع تطبيقات المستخدم والنظام.
عمليات تنزيل مجموعة اختبار CATBox
Android 14
Android Automotive 14 هو معلم رئيسي في مجال التطوير يحمل الاسم الرمز U. يُرجى استخدام الروابط التالية للتنزيل مجموعات اختبار CATBox لنظام Android 14:
Android 12
الإصدار Android 12 هو إصدار مرحلة التطوير الذي يحمل الاسم الرمزي S. استخدِم الروابط التالية لتنزيل مجموعات اختبار CATBox نظام التشغيل Android 12:
Android 11
Android 11 هو إصدار لمرحلة التطوير التي تحمل الاسم R. يمكنك استخدام الروابط التالية لتنزيل مجموعات اختبار CATBox لنظام التشغيل Android 11:
إنشاء CATBox
استخدِم أمر الإصدار catbox
بعد توفُّر رمز AOSP لنظام التشغيل Android على
محطة عمل محلية.
لإنشاء حزمة CATBox محليًا:
اختَر "استهداف الجهاز" استنادًا إلى بنية الجهاز وشغِّل الأمر التالي:
lunch <target>
لإنشاء CATBox، قم بتشغيل الأمر التالي:
make catbox
يؤدي هذا الأمر إلى إنشاء ملف
android-catbox.zip
في دليل/out/host/linux-x86/catbox
، الذي يمكن استخدامه بعد ذلك لإجراء الاختبارات.
إعداد البيئة
يشبه إعداد البيئة المطلوب لتنفيذ اختبارات CATBox إعداد CTS لإعداد المشروع، أكمل كل مهمة من المهام التالية:
ثبِّت ADB وAAPT.
تثبيت JDK. عرض مجموعة أدوات تطوير Java لنظام التشغيل Ubuntu.
زيادة الحد الأقصى للذاكرة عرض متطلبات مساحة التخزين
إعداد CATBox وتشغيلها
استخدِم إطار عمل الاختبار Tradefed لإجراء الاختبارات على أجهزة Android. قبل إعداد CATBox، راجِع نظرة عامة على الاتحاد التجاري.
لإعداد CATBox وتشغيلها، انظر الأقسام أدناه.
إعداد الجهاز
قبل تنفيذ خطة اختبار، عليك إكمال الخطوات التالية لإعداد جهازك:
تأكد من تثبيت أحدث إصدارات كل من Android Debug Bridge (adb) و أداة تجميع مواد العرض في Android (AAPT)، وإضافة موقع هذه الأدوات إلى مسار النظام الجهاز. للحصول على التفاصيل، يُرجى مراجعة ADB وAAPT
يجب توصيل جهاز واحد على الأقل وإعداد الجهاز قيد الاختبار (DUT) التالي:
لإعادة ضبط الجهاز على الإعدادات الأصلية، يُرجى الانتقال إلى الإعدادات > النظام > إعادة ضبط الخيارات > محو جميع البيانات.
انتظِر حتى تتم إعادة تشغيل الجهاز تلقائيًا.
تأكّد من تفعيل Adb. للتأكّد من توفّر الجهاز، شغِّل الأمر التالي:
adb devices
لتمكين الجذر، قم بتشغيل الأمر التالي:
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 |
الاختبارات الوظيفية للصوت عبر البلوتوث |
catbox-functional-bluetooth-palette |
الاختبارات الوظيفية لشريط الحالة |
catbox-functional-bluetooth-tests |
اختبار البلوتوث باستخدام Mobly |
catbox-functional-brightness-palette |
الاختبارات الوظيفية لشريط الحالة |
catbox-functional-btmoped |
الاختبارات الوظيفية المستندة إلى الدرّاجات النارية التي تعمل بتقنية البلوتوث |
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 |
اختبار أداء بدء التشغيل البارد لكل من Dialer والهاتف. |
catbox-performance-cold-app-start-up-mediacenter |
اختبار أداء بدء تشغيل التطبيق البارد في Media Center. |
catbox-performance-cold-app-start-up-settings |
اختبار أداء بدء تشغيل التطبيق البارد للإعدادات |
catbox-performance-create-and-switch-to-new-guest |
قياس وقت الاستجابة للتبديل إلى حساب ضيف جديد |
catbox-performance-create-and-switch-to-new-user |
يمكنك قياس وقت الاستجابة للتبديل إلى مستخدم جديد غير مشرف. |
catbox-performance-hot-app-start-up-dialer |
اختبار أداء بدء تشغيل التطبيق المهم لكل من Dialer والهاتف. |
catbox-performance-hot-app-start-up-mediacenter |
اختبار أداء بدء تشغيل التطبيق المهم في "مركز الوسائط". |
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 |