تعتبر Complete Automotive Tests in a Box (CATBox) حزمة مفتوحة المصدر توفر الأطر والأدوات المطلوبة لتبسيط وتنفيذ اختبارات السيارات بأدنى حد من التكوين. CATBox قابل للتطوير ومتوافق مع الأدوات والبنية التحتية والاختبارات التي تستخدمها لاختبار تطبيقات نظام التشغيل Android Automotive OS (AAOS) والتحقق من صحتها. نتيجة لذلك ، يمكنك تقديم منتجات عالية الجودة إلى السوق.
تصميم وتنفيذ CATBox
توفر مجموعة اختبار CATBox الأدوات والأطر والاختبارات اللازمة لتنفيذ الاختبارات الوظيفية والأداء على جهاز هدف السيارة.
توضح الصورة التالية تصميمًا عالي المستوى لحزمة CATBox.
الشكل 1. حزمة CATBox
التجارة
Tradefed هو إطار عمل اختبار مستمر مفتوح المصدر يستخدم لإجراء الاختبارات على أجهزة Android. للحصول على التفاصيل ، راجع نظرة عامة على الاتحاد التجاري .
إطار اختبار السيارات
يعتمد CATBox على إطار اختبار السيارات المسمى Spectatio ، والذي يوفر واجهات برمجة التطبيقات لاختبار التطبيقات المختلفة على أجهزة السيارات. إنه مبني على UI Automator ، وهو إطار اختبار مفتوح المصدر يوفر مجموعة من واجهات برمجة التطبيقات لإنشاء اختبارات واجهة المستخدم التي تتفاعل مع تطبيقات المستخدم والنظام.
تنزيلات مجموعة اختبار CATBox
أندرويد 12
Android 12 هو إصدار التطوير الذي يحمل الاسم الرمزي S. استخدم الروابط التالية لتنزيل مجموعات اختبار CATBox لنظام Android 12:
أندرويد 11
Android 11 هو إصدار التطوير الذي يحمل الاسم الرمزي R. استخدم الروابط التالية لتنزيل مجموعات اختبار CATBox لنظام Android 11:
بناء CATBox
استخدم الأمر catbox
build بمجرد أن يتوفر كود Android AOSP على محطة العمل المحلية. لإنشاء حزمة CATBox محليًا:
حدد Device Target وقم بتشغيل الأمر التالي:
# Select Device Target Based on Device Architecture $ lunch <target>
لإنشاء CATBox ، قم بتشغيل الأمر التالي:
# Build 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 Asset Packaging Tool (AAPT) ، بالإضافة إلى إضافة موقع هذه الأدوات إلى مسار نظام جهازك. للحصول على التفاصيل ، راجع ADB و AAPT .
قم بتوصيل جهاز واحد على الأقل وإعداد الجهاز قيد الاختبار (DUT) على النحو التالي:
- لإعادة ضبط جهاز السيارة إلى إعدادات المصنع ، انقر فوق الإعدادات> النظام> خيارات إعادة التعيين> محو جميع البيانات .
- انتظر حتى تتم إعادة تشغيل الجهاز تلقائيًا.
تأكد من تمكين adb. لتأكيد توفر الجهاز ، قم بتشغيل الأمر التالي:
$ adb devices
لتمكين الجذر ، قم بتشغيل الأمر التالي:
# Enable Root $ adb -s DEVICE_SERIAL root
استبدل
DEVICE_SERIAL
التسلسلي لجهاز السيارة.اتصل بشبكة Wi-Fi.
قم باستخراج حزمة CATBox
بعد الانتهاء من إعداد الجهاز ، قم بفك ضغط حزمة CATBox وانتقل إلى المجلد المستخرج:
# Extract the CATBox Package
$ unzip android-catbox.zip
# Navigate to extracted CATBox Package
$ 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-notification catbox-functional-setting catbox-functional-dial catbox-functional-system-setting catbox-functional-app-info-setting catbox-functional-network-setting catbox-functional-security-setting catbox-functional-sound-setting catbox-functional-date-time-setting catbox-functional-appgrid catbox-functional-home catbox-functional-lock-screen catbox-functional-navigation-bar catbox-functional-ux-restriction catbox-functional-bluetooth-audio |
خطط اختبار الأداء | catbox-performance-cold-app-start-up-settings catbox-performance-hot-app-start-up-settings catbox-performance-jank-settings catbox-performance-cold-app-start-up-dialer catbox-performance-hot-app-start-up-dialer catbox-performance-jank-contact-list catbox-performance-jank-notifications catbox-performance-jank-appgrid catbox-performance-cold-app-start-up-mediacenter catbox-performance-hot-app-start-up-mediacenter catbox-performance-create-and-switch-to-new-guest catbox-performance-create-and-switch-to-new-user catbox-performance-create-and-switch-to-precreated-guest catbox-performance-create-and-switch-to-precreated-user catbox-performance-switch-to-existing-user |
نتائج اختبار CATBox
يتم حفظ نتائج الاختبار في مجلد android-catbox/results/latest
لكل من عمليات التنفيذ واختبار الأداء.
- للحصول على نتائج الاختبار ، راجع
test_result.xml
. - للحصول على تفاصيل اختبارات الفشل ، راجع
test_result_failures_suite.html
. - للحصول على نتائج مقاييس الأداء ، راجع
CatboxPerformanceTests.reportlog.json
في دليلreport-log-files
.
يتم حفظ السجلات في المسار android-catbox/logs/latest
لكل من عمليات التنفيذ واختبار الأداء.
تتطلب بعض الاختبارات مثل اختبارات الاتصال الهاتفي وصوت البلوتوث وقائمة جهات الاتصال إعدادًا إضافيًا للجهاز.
اختبار الطلب
يتطلب اختبار الاتصال إعداد الجهاز ومعلمات وقت التشغيل. لإعداد الجهاز:
- قم بتوصيل الجهاز المحمول بوحدة رأس السيارة من خلال البلوتوث.
- تأكد من احتواء هاتف الاختبار على بطاقة SIM لإجراء اختبارات الاتصال وأنه متصل بشبكة الهاتف المحمول.
- تستخدم اختبارات الاتصال جهات الاتصال الافتراضية المخزنة على الهاتف. استخدم contacts.vcf لتحميل جهات الاتصال على الهاتف.
استبدل
COMPANION_SERIAL
بالمعرف التسلسلي للهاتف وقم بتشغيل الأوامر التالية:# Contacts can be loaded on the phone by pushing the contacts.vcf file on the phone and importing it in the Contacts application. OR # Importing contacts using adb. # Push contacts VCF file to phone $ adb -s COMPANION_SERIAL push <path-to-downloaded-contacts-vcf-file> /storage/emulated/0/Android/data/com.google.android.contacts/contacts.vcf # Grant Read Permissions $ adb -s COMPANION_SERIAL shell pm grant com.google.android.contacts android.permission.READ_EXTERNAL_STORAGE # Import contacts from the VCF file $ adb -s COMPANION_SERIAL shell am start-activity -W -t 'text/x-vcard' -d file:///storage/emulated/0/Android/data/com.google.android.contacts/contacts.vcf -a android.intent.action.VIEW com.google.android.contacts # Then accept the prompts on the UI to load the contacts.
معلمات وقت التشغيل
تستخدم اختبارات الاتصال أرقام هواتف صغيرة وكبيرة لتنفيذ الاختبار. تستخدم اختبارات الاتصال أيضًا اسم جهة الاتصال ورقم جهة الاتصال لإجراء اختبارات البحث. استخدم المعلمات التالية لتوفير هذه المعلومات:
Parameters for Large Phone Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:large-phone-number:=< 10 digit phone number>
Parameters for Small Phone Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:small-phone-number:=< 3 digit phone number>
Parameters for Search Contact Name:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:search-contact-name:=< some contact name stored on the phone >
Parameters for Search Contact Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:search-contact-number:=< contact number of the name provided in the search contact name >
اختبار صوت بلوتوث
لإعداد جهاز لاختبار صوت Bluetooth:
- تأكد من تثبيت تطبيق YouTube Music على الهاتف وتسجيل الدخول إلى حساب. إذا لم يكن كذلك ، فقم بتثبيت التطبيق وتسجيل الدخول إلى حساب.
- قم بإقران الهاتف يدويًا بجهاز السيارة من خلال Bluetooth.
- بمجرد إقران الهاتف ، قم بتشغيل أغنية على الهاتف ثم ابدأ في تنفيذ الاختبار.
قائمة جهات الاتصال اختبار نكتة
لإعداد جهاز للاختبار غير المرغوب فيه لقائمة جهات الاتصال:
- تأكد من أن الهاتف يحتوي على العديد من جهات الاتصال بحيث يمكن للاختبار التمرير عبر قائمة جهات الاتصال لجمع المقاييس غير المرغوب فيها.
- قم بإقران الهاتف يدويًا بجهاز السيارة من خلال Bluetooth.
- بمجرد إقران الهاتف ، يمكن الوصول إلى جهات الاتصال على الجهاز.