تعد اختبارات السيارات الكاملة في صندوق (CATBox) عبارة عن حزمة مفتوحة المصدر توفر الأطر والأدوات اللازمة لتبسيط اختبارات السيارات وتنفيذها بأقل قدر من التكوين. يعد CATBox قابلاً للتطوير ومتوافقًا مع الأدوات والبنية التحتية والاختبارات التي تستخدمها لاختبار تطبيقات نظام التشغيل Android Automotive OS (AAOS) لديك والتحقق من صحتها. ونتيجة لذلك، يمكنك تقديم منتجات عالية الجودة إلى السوق.
تصميم وتنفيذ CATBox
توفر مجموعة اختبار CATBox الأدوات والأطر والاختبارات اللازمة لتنفيذ الاختبارات الوظيفية واختبارات الأداء على جهاز هدف خاص بالسيارات وأثناء استخدام جهاز مصاحب.
توضح الصورة التالية تصميمًا عالي المستوى لحزمة CATBox.
الشكل 1. حزمة CATBox
تريدفيد
Tradefed هو إطار اختبار مستمر مفتوح المصدر يستخدم لتنفيذ الاختبارات على أجهزة Android. للحصول على التفاصيل، راجع نظرة عامة على الاتحاد التجاري .
إطار اختبار السيارات
يعتمد CATBox على إطار عمل اختبار السيارات المسمى Spectatio ، والذي يوفر واجهات برمجة التطبيقات لاختبار التطبيقات المختلفة على أجهزة السيارات. إنه مبني على UI Automator ، وهو إطار اختبار مفتوح المصدر، يوفر مجموعة من واجهات برمجة التطبيقات لإنشاء اختبارات واجهة المستخدم التي تتفاعل مع تطبيقات المستخدم والنظام.
تنزيلات مجموعة اختبار CATBox
أندرويد 14
Android Automotive 14 هو إصدار لمعلم التطوير الرئيسي الذي يحمل الاسم الرمزي U. استخدم الروابط التالية لتنزيل مجموعات اختبار CATBox لنظام Android 14:
أندرويد 12
Android 12 هو إصدار لمعلم التطوير الرئيسي الذي يحمل الاسم الرمزي S. استخدم الروابط التالية لتنزيل مجموعات اختبار CATBox لنظام Android 12:
أندرويد 11
Android 11 هو إصدار لمعلم التطوير الرئيسي الذي يحمل الاسم الرمزي R. استخدم الروابط التالية لتنزيل مجموعات اختبار CATBox لنظام Android 11:
بناء صندوق CATBox
استخدم أمر بناء catbox
بمجرد توفر رمز Android AOSP على محطة العمل المحلية.
لإنشاء حزمة 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 Asset Packaging Tool (AAPT) ، بالإضافة إلى إضافة موقع هذه الأدوات إلى مسار النظام الخاص بجهازك. للحصول على التفاصيل، راجع ADB وAAPT .
قم بتوصيل جهاز واحد على الأقل وإعداد الجهاز قيد الاختبار (DUT) على النحو التالي:
لإعادة ضبط جهاز السيارة بحسب إعدادات المصنع، انتقل إلى الإعدادات > النظام > خيارات إعادة الضبط > مسح جميع البيانات .
انتظر حتى يتم إعادة تشغيل الجهاز تلقائيًا.
تأكد من تمكين بنك التنمية الآسيوي. للتأكد من توفر الجهاز، قم بتشغيل الأمر التالي:
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 | الاختبارات الوظيفية المعتمدة على الدراجة البخارية التي تعمل بتقنية 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 | اختبار أداء بدء تشغيل التطبيق البارد لـ 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 | اختبار أداء بدء تشغيل التطبيق الساخن لـ 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 |