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

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

تصميم وتنفيذ CATBox

توفر مجموعة اختبار 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 محليًا:

  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 Asset Packaging Tool (AAPT) ، بالإضافة إلى إضافة موقع هذه الأدوات إلى مسار النظام الخاص بجهازك. للحصول على التفاصيل، راجع ADB وAAPT .

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

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

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

    3. تأكد من تمكين بنك التنمية الآسيوي. للتأكد من توفر الجهاز، قم بتشغيل الأمر التالي:

      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 الاختبارات الوظيفية المعتمدة على الدراجة البخارية التي تعمل بتقنية 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