Complete Automotive Tests in a Box (CATBox) هي حزمة مفتوحة المصدر توفر الإطارات والأدوات المطلوبة لتبسيط تنفيذ اختبارات المركبات وتنفيذها بأقل قدر من الإعداد. يمكن توسيع نطاق CATBox وهو متوافق مع الأدوات والبنية الأساسية والاختبارات التي تستخدمها لاختبار عمليات تنفيذ نظام التشغيل Android Automotive (AAOS) والتحقّق منها. ونتيجةً لذلك، يمكنك تقديم منتجات عالية الجودة إلى السوق.
تصميم CATBox وتنفيذه
توفّر مجموعة اختبارات CATBox الأدوات والأُطر والاختبارات اللازمة لمحاولة تنفيذ اختبارات الأداء والوظائف على جهاز مستهدَف للسيارات أثناء استخدام جهاز مصاحب.
توضِّح الصورة التالية تصميمًا عالي المستوى لحزمة CATBox.
الشكل 1: حزمة CATBox
Tradefed
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
build بعد توفُّر رمز 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، اطّلِع على نظرة عامة على اتحاد التجارة.
لإعداد 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 |
الاختبارات الوظيفية لـ 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 |
اختبار أداء بدء تشغيل التطبيق من البداية لكل من تطبيق "أداة الاتصال" وتطبيق "الهاتف" |
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 |
اختبار أداء بدء تشغيل التطبيقات فورًا لكل من تطبيق "أداة الاتصال" وتطبيق "الهاتف" |
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 |