إكمال اختبارات السيارات في صندوق

Total Automotive Tests in a Box (CATBox) هي حزمة مفتوحة المصدر توفّر الأطر والأدوات اللازمة لتبسيط وتنفيذ المهام في بيئة السيارات بأقل قدر من التهيئة. إنّ CATBox قابل للتطوير ومتوافق مع الأدوات والبنية الأساسية والاختبارات التي تستخدمها لاختبار نظام Android عمليات تطبيق نظام التشغيل Automotive (AAOS). وبالتالي، يمكنك تقديم معلومات عالية الجودة المنتجات إلى السوق.

تصميم تطبيق CATBox وتنفيذه

توفر مجموعة اختبار CATBox الأدوات وأطر العمل والاختبارات اللازمة إجراء اختبارات وظيفية واختبارات أداء على أحد الأجهزة المستهدفة للسيارات أثناء استخدام جهاز مصاحب.

توضح الصورة التالية تصميمًا عالي المستوى لحزمة CATBox.

مربّع CAT

الشكل 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 محليًا:

  1. اختَر "استهداف الجهاز" استنادًا إلى بنية الجهاز وشغِّل الأمر التالي:

    lunch <target>
    
  2. لإنشاء CATBox، قم بتشغيل الأمر التالي:

    make catbox
    

    يؤدي هذا الأمر إلى إنشاء ملف android-catbox.zip في دليل /out/host/linux-x86/catbox، الذي يمكن استخدامه بعد ذلك لإجراء الاختبارات.

إعداد البيئة

يشبه إعداد البيئة المطلوب لتنفيذ اختبارات CATBox إعداد CTS لإعداد المشروع، أكمل كل مهمة من المهام التالية:

إعداد CATBox وتشغيلها

استخدِم إطار عمل الاختبار Tradefed لإجراء الاختبارات على أجهزة Android. قبل إعداد CATBox، راجِع نظرة عامة على الاتحاد التجاري.

لإعداد CATBox وتشغيلها، انظر الأقسام أدناه.

إعداد الجهاز

قبل تنفيذ خطة اختبار، عليك إكمال الخطوات التالية لإعداد جهازك:

  1. تأكد من تثبيت أحدث إصدارات كل من Android Debug Bridge (adb) و أداة تجميع مواد العرض في Android (AAPT)، وإضافة موقع هذه الأدوات إلى مسار النظام الجهاز. للحصول على التفاصيل، يُرجى مراجعة ADB وAAPT

  2. يجب توصيل جهاز واحد على الأقل وإعداد الجهاز قيد الاختبار (DUT) التالي:

    1. لإعادة ضبط الجهاز على الإعدادات الأصلية، يُرجى الانتقال إلى الإعدادات > النظام > إعادة ضبط الخيارات > محو جميع البيانات.

    2. انتظِر حتى تتم إعادة تشغيل الجهاز تلقائيًا.

    3. تأكّد من تفعيل Adb. للتأكّد من توفّر الجهاز، شغِّل الأمر التالي:

      adb devices
      
    4. لتمكين الجذر، قم بتشغيل الأمر التالي:

      adb -s DEVICE_SERIAL root
      

      استبدِل DEVICE_SERIAL بـ "المعرّف التسلسلي" جهاز السيارة.

    5. اتصِل بشبكة 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