OmniLab ATS هي أداة اختبار يمكن لمطوّري تطبيقات Android ومهندسي الاختبار استخدامها لتوظيف واجهة مستخدم لتشغيل مجموعات اختبار Android العادية، مثل مجموعة أدوات اختبار التوافق (CTS) لنظام التشغيل Android. تعمل هذه الأداة كواجهة ويب لأُطر الاختبار المختلفة، مثل Trade Federation (TF) وGoogle Mobly، ما يتيح لك إجراء اختبارات CTS واختبارات الأجهزة المتعددة على مجموعة من الأجهزة الاختبارية بأقل قدر من الإعداد، بالإضافة إلى وضع جدول زمني لإجراء الاختبارات باستمرار.
مقدّمة عن الإصدار 2.0 من منصّة OmniLab ATS
تنقل منصة OmniLab ATS 2.0 البنية الأساسية لتنفيذ الاختبارات من Trade Federation إلى OmniLab. يوفّر هذا التغيير نظامًا خلفيًا أكثر فعالية وقوة، مع الحفاظ على واجهة المستخدم وعمليات سير العمل في OmniLab ATS 1.0.
المزايا الرئيسية لمنصة OmniLab ATS 2.0:
- بنية أساسية حديثة: تستفيد من منصة OmniLab لتحسين الثبات والأداء.
- انتقال سلس: لن تطرأ أي تغييرات على واجهة المستخدم على الويب أو سير العمل الأساسي لتنفيذ الاختبار.
- جاهز للمستقبل: يتوافق مع البنية الأساسية الموحّدة للاختبارات في Google، ما يتيح استخدام الميزات الجديدة بشكل أسرع.
يتضمّن نظام OmniLab ATS 2.0 ميزات جديدة، مثل تعديلات خطة الاختبار المجمّعة، وتخصيص الأجهزة المتقدّم، والمزيد. راجِع ملاحظات الإصدار للاطّلاع على آخر الأخبار.
الترقية إلى OmniLab ATS 2.0:
لتجربة OmniLab ATS 2.0، أضِف العلامة --force_ats_version 2 إلى الأمر mtt start:
mtt start --force_ats_version 2
خلال فترة نقل البيانات، ننصحك باستخدام العلامة dogfood للوصول إلى أحدث إصدار ثابت يتضمّن ميزات OmniLab ATS 2.0:
mtt start --force_ats_version 2 --tag dogfood --force_update
نخطّط لجعل الإصدار 2.0 من OmniLab ATS هو الإصدار التلقائي في الربع الثالث من عام 2026. نخطّط لإيقاف الإصدار 1.0 من OmniLab ATS نهائيًا بحلول نهاية عام 2026.
لمزيد من التفاصيل حول التحديثات المحدّدة والاختلافات المعروفة وإرشادات الترقية، يُرجى الاطّلاع على دليل ترقية OmniLab ATS 2.0.
إعداد مجموعة أدوات اختبار السيارات (ATS) في OmniLab
يوضّح هذا القسم كيفية تثبيت منصة OmniLab ATS وإعدادها.
يستخدم نظام OmniLab ATS رمز المصدر من المواقع الجغرافية التالية:
تثبيت OmniLab ATS
اتّبِع أي متطلبات للأجهزة والبرامج في حِزم الاختبار التي تجريها.
يمكنك الاطّلاع على متطلبات مجموعة أدوات اختبار التوافق (CTS) على source.android.com.
لا تتطلّب منصة OmniLab ATS أي متطلبات إضافية للأجهزة، ولكن ننصحك باستخدام متطلبات مضيف مجموعة اختبار التوافق (CTS) كنقطة بداية.
هناك طريقتان لتثبيت OmniLab ATS:
- شغِّل برنامج التثبيت.
- تثبيته يدويًا، ما يتطلّب تثبيت برامج وموارد متعدّدة
التثبيت باستخدام برنامج التثبيت
على نظام التشغيل Ubuntu 20.04 أو الإصدارات الأحدث، يثبّت برنامج التثبيت جميع البرامج والموارد اللازمة لتشغيل OmniLab ATS ويضبطها.
لاستخدام برنامج التثبيت، اتّبِع الخطوات التالية:
شغِّل برنامج أداة التثبيت:
curl https://storage.googleapis.com/android-mtt.appspot.com/prod/install.sh | bash
نفِّذ الأمر
mtt versionللتحقّق من إصدار OmniLab ATS CLI المثبَّت.
التثبيت يدويًا
تثبيت Docker
اتّبِع تعليمات تثبيت إصدار Docker Community Edition (CE) على جهاز Linux.
اتّبِع خطوات ما بعد التثبيت لإدارة Docker كمستخدم غير رئيسي.
قد تحتاج إلى إعادة تشغيل نافذة الجهاز الطرفي أو تسجيل الخروج ثم تسجيل الدخول مرة أخرى لتطبيق تغييرات الأذونات.
تثبيت الإصدار 3 من Python
تم التحقّق من توافق واجهة سطر الأوامر لنظام OmniLab ATS مع إصدارات Python من 3.7 إلى 3.11.
في نظام التشغيل Ubuntu 16.04 أو الإصدارات الأقدم، عليك أولاً إضافة مستودع Python 3 من خلال تنفيذ أحد الإجراءَين التاليَين:
نفِّذ الأمر التالي:
sudo add-apt-repository ppa:deadsnakes/ppa
إنشاء المستودع وتثبيته من المصدر
لتثبيت الإصدار 3 من Python، شغِّل الأوامر التالية:
sudo apt-get updatesudo apt install python3 python3-distutils
لتثبيت إصدار معيّن من Python 3 (على سبيل المثال، 3.10)، شغِّل الأوامر التالية بدلاً من ذلك:
sudo apt-get updatesudo apt install python3.10 python3.10-distutils
الحصول على واجهة سطر الأوامر لمجموعة أدوات اختبار السيارات (ATS) في OmniLab
نزِّل حزمة واجهة سطر الأوامر (CLI) من هنا.
بدء مجموعة أدوات اختبار السيارات (ATS) في OmniLab
ابدأ OmniLab ATS باستخدام الأمر التالي:
mtt start
في المرة الأولى التي يتم فيها بدء واجهة المستخدم، قد يستغرق ظهورها بضع دقائق. تعرض واجهة سطر الأوامر عنوان URL على الويب للوصول إلى واجهة المستخدم في المتصفّح. يكون عنوان URL للويب تلقائيًا
localhost:8000. إذا لزم الأمر، يمكنك تغيير المنفذ التلقائي عند بدء التشغيل باستخدام العلامة --port.
إذا كان يتوفّر إصدار أحدث، يمكنك التحديث إلى الإصدار الحالي. يمكنك الاطّلاع على ملاحظات الإصدار لمعرفة آخر الإصدارات.
للتحديث إلى الإصدار الحالي، نفِّذ الأمر التالي:
mtt start --force_update
لإيقاف التطبيق، نفِّذ الأمر التالي:
mtt stop
للاطّلاع على قائمة بالأوامر الأخرى، استخدِم:
mtt --help
الاحتفاظ بنسخة احتياطية من قاعدة البيانات واستعادتها
لإجراء نسخ احتياطي لقاعدة بيانات OmniLab ATS، أوقِف التطبيق ونفِّذ الأمر التالي،
الذي يتيح إجراء نسخ احتياطي لقاعدة البيانات الحالية في ملف TAR باسم mtt-backup.tar في
دليل الصفحة الرئيسية:
docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar cvf /out/mtt-backup.tar ."
للاستعادة، شغِّل الأمر التالي قبل بدء تشغيل التطبيق:
docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar xvf /out/mtt-backup.tar"
معالج الإعداد
بعد تثبيت OmniLab ATS وتشغيله للمرة الأولى، يرشدك "معالج الإعداد" خلال بضع خطوات لمساعدتك في تخصيص الأداة بما يتناسب مع بيئتك. يمكنك إعادة ضبط أي تغييرات تجريها هنا لاحقًا من خلال صفحة "الإعدادات".
استعادة نسخة احتياطية من الإعدادات
إذا كان لديك ملف إعداد تم نسخه احتياطيًا من مضيف آخر في OmniLab ATS، يمكنك تحميل الملف لنسخ أي إعدادات تم تعديلها من هذا المضيف من خلال النقر على الزر تحميل ملف.
الشكل 1: استعادة نسخة احتياطية من الإعدادات
ضبط حساب الخدمة التلقائي
يمكنك ضبط حساب خدمة يستخدمه OmniLab ATS تلقائيًا عند الوصول إلى مواردك (مثل Google Cloud Storage وGoogle Drive). لإثبات ملكية حساب الخدمة، انقر على تحميل مفتاح حساب الخدمة واختَر ملف مفتاح JSON لحساب الخدمة.
الشكل 2: ضبط حساب الخدمة
عند إثبات صحة حساب الخدمة بنجاح، يظهر عنوان البريد الإلكتروني للحساب في أعلى يسار الصفحة. لتغيير حساب الخدمة، انقر على اسم الحساب، وأزِل الحساب التلقائي الحالي، وحمِّل مفتاح حساب خدمة جديدًا.
الشكل 3: تغيير حساب الخدمة
استيراد مجموعات الإعدادات
مجموعة الإعدادات هي حزمة من الإعدادات لتشغيل مجموعات الاختبار، بما في ذلك إجراءات الأجهزة ذات الصلة وقنوات الإصدار. تتم استضافة مجموعات الإعدادات في حزمة معيّنة من Google Cloud Storage (GCS). بعد مصادقة قناة الإصدار في GCS باستخدام حسابك على Google، ستظهر لك قائمة بجميع مجموعات الإعدادات المتاحة لك.
اختَر أي مجموعات إعدادات تريد إضافتها إلى مضيف Test Station وانقر على استيراد العناصر المحدّدة.
الشكل 4. استيراد مجموعة إعدادات
تضمين إعدادات Wi-Fi
تتطلّب بعض اختبارات CTS أن يتصل جهازك بنقطة اتصال Wi-Fi. لاختيار شبكة Wi-Fi، أدخِل معرّف SSID لشبكة Wi-Fi ومفتاح PSK لشبكة Wi-Fi (اختياري).
الشكل 5. إعدادات نقطة اتصال Wi-Fi
بعد إكمال "معالج الإعداد"، تتم إعادة تحميل الصفحة مع تطبيق الإعدادات الجديدة.
ربط جهاز
يجب تفعيل خيار "تصحيح أخطاء الجهاز عبر USB" لاستخدام جهاز لأغراض الاختبار. لتفعيل تصحيح الأخطاء، اتّبِع الخطوات التالية:
اتّبِع التعليمات الواردة في مقالة تفعيل خيارات المطوّرين وتصحيح الأخطاء.
إذا كنت تخطّط لاستخدام إصدارات Android اختبارية محمَّلة مسبقًا بمفاتيح ADB مخصّصة، ضَع ملفات
.adb_keyالمخصّصة ضمن الدليل~/.android/.يتم تحميل الملفات تلقائيًا ونقلها إلى ADB لتفعيل تصحيح أخطاء USB تلقائيًا بعد إعادة ضبط الجهاز الذي يعمل بهذه الإصدارات.
وصِّل الجهاز بالجهاز المضيف باستخدام USB.
يظهر الجهاز في علامة التبويب "أجهزة OmniLab ATS" في غضون دقيقة واحدة بعد إعادة تحميل واجهة الويب. يمكنك أيضًا الاطّلاع على حالة الأجهزة في علامة التبويب هذه.
الشكل 6. جارٍ ربط جهاز.
حالات الجهاز المختلفة هي:
- متاح: الجهاز متصل وجاهز لإجراء اختبار.
- تم تخصيصه: الجهاز متصل ويجري اختبارًا. يمكن لكل جهاز إجراء اختبار واحد فقط في كل مرة، لذا يجب أن ينهي الجهاز الاختبار الحالي قبل إجراء اختبار جديد.
إجراء اختبار
اختيار اختبار
تتضمّن منصة OmniLab ATS مجموعة من إعدادات CTS المجمّعة مسبقًا. لتنفيذ أحد هذه الاختبارات، انتقِل إلى علامة التبويب "مجموعات الاختبارات" وانقر على تنفيذ الاختبار للاختبار المحدّد.
الشكل 7. اختيار اختبار
لتعديل الاختبارات أو إضافة اختبارات جديدة، اطّلِع على إضافة اختبارات.
ضبط التشغيل التجريبي
عدِّل المَعلمات التي سيتم استخدامها في عملية الاختبار المحدّدة هذه. يتم ملء معظم المَعلمات مسبقًا بالقيم المحدّدة في إعدادات الاختبار المحدّدة.
يمكن إكمال هذه الخطوة باستخدام القيم التلقائية، ولكن يمكنك تغيير أيّ من المَعلمات، مثل الحد الأقصى لإعادة المحاولة والأمر، لتناسب احتياجاتك.
الشكل 8. إعداد تشغيل تجريبي
في ما يلي مَعلمات تشغيل الاختبار:
- الاسم: اسم مجموعة الاختبارات التي تريد تنفيذها.
- عدد مرات التنفيذ: عدد المرات التي يجب تنفيذ عملية الاختبار هذه فيها عند جدولتها. يتم تحديد مواعيد تشغيل الاختبارات باستخدام Trade Federation، التي يمكنها تشغيل ما يصل إلى 20 اختبارًا بالتوازي إذا توفّرت السعة اللازمة لذلك.
- الحدّ الأقصى لعدد المحاولات: الحدّ الأقصى لعدد مرات إعادة محاولة تنفيذ الاختبار إذا فشل اختبار واحد على الأقل. يتم عادةً ضبط هذا الخيار على 4 إلى 6 محاولات إعادة تشغيل لتنفيذ مجموعة أدوات اختبار التوافق بالكامل من أجل التعامل مع الاختبارات غير المستقرة.
- انتهاء المهلة في قائمة الانتظار: إذا ظلّت عملية تشغيل اختبار في حالة في انتظار المراجعة لفترة طويلة جدًا، سيتم إلغاؤها تلقائيًا. حدِّد مقدار الوقت الذي يجب الانتظار فيه قبل الإلغاء هنا. القيمة التلقائية هي 24 ساعة.
الأمر: الأمر الذي يتم استخدامه لتشغيل مجموعة الاختبارات. يمكنك إدخال وسيطات إضافية لسطر الأوامر هنا. على سبيل المثال، شغِّل وحدة معيّنة في CTS 8.1 باستخدام:
cts-suite -m ShortModuleNameإعادة محاولة الأمر: الأمر الخاص بإعادة محاولة مجموعة اختبار. يمكنك إضافة وسيطات إضافية لسطر الأوامر هنا. على سبيل المثال، لإعادة محاولة وحدة نمطية معيّنة فقط في CTS 8.1، استخدِم ما يلي:
cts --retry 0 -m ShortModuleNameقد تختلف وسيطات إعادة المحاولة عن تلك المتاحة مع الأمر الأولي، لذا راجِع المَعلمات المتوافقة على الموقع الإلكتروني الرسمي لمجموعة الاختبارات المحدّدة.
عملية الاختبار السابقة: إذا أردت إعادة تنفيذ عملية اختبار سابقة، اتّبِع الخطوات التالية:
محلّي: إذا تم بدء عملية التشغيل على المضيف الحالي، أدخِل معرّف التشغيل التجريبي الذي يظهر عند عرض تفاصيل التشغيل التجريبي.
الشكل 9. تشغيل الاختبار السابق محليًا
عن بُعد: إذا تم بدء عملية التشغيل على مضيف مختلف، حمِّل ملف نتائج الاختبار من خلال النقر على عن بُعد، ثم على تحميل ملف نتائج الاختبار، واختَر ملفًا من وحدة التخزين المحلية.
الشكل 10. تشغيل الاختبار السابق عن بُعد
اختيار الأجهزة
ضَع علامة في مربّعات الاختيار لتحديد الأجهزة التي سيتم تخصيصها لتشغيل مجموعة الاختبارات. من المفترض أن يتغيّر عدد الأجزاء تلقائيًا ليتطابق مع عدد الأجهزة المحدّدة.
الشكل 11. اختيار الأجهزة
لاختيار الأجهزة حسب سمات أخرى غير الأرقام التسلسلية للأجهزة، يمكنك إدخال "مواصفات الجهاز" يدويًا. على سبيل المثال، لاختيار 3 أجهزة اسم منتجها "bramble"، أدخِل ما يلي:
product:bramble;product:bramble;product:bramble
السمات المتوافقة هي:
- build_id
- device_serial
- device_type
- اسم المضيف
- المنتج
- product_variant
- sim_state
يجب أن تكون جميع الأجهزة المحدّدة في الحالة متاحة لتنفيذ التشغيل التجريبي، ويتم تغيير حالتها إلى مخصّصة عند تنفيذ التشغيل التجريبي. يكون التشغيل التجريبي في الحالة في قائمة الانتظار أثناء انتظار توفّر الأجهزة.
إضافة إجراءات الجهاز
إجراءات الجهاز هي نصوص برمجية يمكن تنفيذها قبل كل عملية اختبار. تتوفّر بعض إجراءات الجهاز مضبوطة مسبقًا، مثل الوميض وإعادة التشغيل. لإنشاء إجراءات جديدة للأجهزة، اطّلِع على إنشاء إجراء جديد للأجهزة.
الشكل 12: إجراءات الجهاز
لإضافة إجراء جهاز إلى عملية اختبار، انقر على إضافة إجراء جديد، ثم ضَع علامة في مربّعات الاختيار للإجراءات التي تريد إضافتها، وانقر على إضافة إجراءات. يتم تنفيذ إجراءات الجهاز بالتسلسل. يمكنك إعادة ترتيب الإجراءات عن طريق سحبها.
الشكل 13. إعادة ترتيب الإجراءات
ضبط موارد الاختبار
موارد الاختبار هي الملفات المطلوبة لتنفيذ اختبار. على سبيل المثال، يتطلّب تشغيل مجموعة اختبار التوافق (CTS) ملف android-cts*.zip، كما يتطلّب تحديث الجهاز توفير صورة الإصدار.
يجب أن يكون عنوان URL الخاص بتنزيل ملف ZIP الخاص بمجموعة الاختبارات هو نفسه روابط Google Drive التي يتم تقديمها للشركاء. يمكنك اختيار ملف مختلف من خلال النقر على تصفّح. في النافذة المنبثقة، يمكنك إدخال رابط تنزيل ملف أو استخدام ملف من قناة إصدار مصادَق عليها أو تحميل ملف لاستخدامه من مساحة التخزين المحلية.
الشكل 14. اختبار المراجع
في ما يلي النافذة المنبثقة لاختيار مصدر اختبار من خلال عنوان URL على الويب. يمكنك إدخال رابط عنوان URL للتنزيل، ثم النقر على الزر اختيار لتأكيد الاختيار.
الشكل 15. اختبار محدّد الموارد - عنوان URL على الويب
إذا حمّلت مراجع إلى Google Drive أو Google Cloud Storage (GCS) أو قنوات أخرى، يمكنك أيضًا الانتقال إلى علامة التبويب الخاصة بالقناة المحدّدة واختيار المراجع من هناك. في ما يلي مثال على اختيار مرجع من Google Drive.
الشكل 16. Test Resource Selector - Google Drive.
بالإضافة إلى مجرد اختيار الملفات، يمكن أيضًا استخدام أحرف البدل في حقل اسم الملف. يمكنك الاطّلاع على المستندات هنا.
الشكل 17 أداة اختيار الموارد الاختبارية - إتاحة استخدام نمط أحرف البدل
يمكنك أيضًا اختيار ملف من مساحة التخزين المحلية للملفات في OmniLab ATS. يمكنك تحميل الملفات إلى مساحة التخزين هذه أو استخدام الملفات والأدلة المحلية مباشرةً.
الشكل 18. أداة اختيار الموارد الاختبارية - متجر الملفات المحلّي
إضافة إعدادات إعادة التشغيل
يمكنك جدولة عمليات إعادة التشغيل التي تبدأ بعد اكتمال عملية التشغيل الأساسية وتحميل نتائجها، ولكن يمكنك استخدام جهاز أو إجراءات أو موارد مختلفة.
الشكل 19. إضافة إعدادات إعادة التشغيل
بدء تشغيل اختبار
بعد إدخال المعلومات اللازمة لتشغيل الاختبار، انقر على بدء تشغيل الاختبار. إذا كانت جميع المعلومات صالحة، سيبدأ تشغيل الاختبار، وسيتم إعادة توجيهك إلى صفحة للاطّلاع على التفاصيل ومستوى تقدّم عملية التشغيل.
الشكل 20. بدء تشغيل اختبار
إنشاء خطة اختبار
تُستخدَم خطط الاختبار لإنشاء عمليات اختبار وفقًا لجدول زمني دوري. على سبيل المثال، تشغيل CTS 9.0 كل يوم في الساعة 5 مساءً. لإنشاء خطة اختبار جديدة، انقر على إنشاء خطة اختبار جديدة.
الشكل 21. إنشاء خطة اختبار
إعداد خطة الاختبار
أدخِل اسم خطة الاختبار وأي تصنيفات تريد إضافتها. بعد ذلك، اختَر جدولاً زمنيًا لاستخدامه.
- يدوي: لا تنشئ خطة الاختبار عمليات تشغيل الاختبار إلا عندما ينقر المستخدم على تشغيل خطة الاختبار في صفحة قائمة خطط الاختبار.
- الدورية: يجدول خطة الاختبار تلقائيًا عمليات تشغيل الاختبار وفقًا للجدول الزمني الدوري الذي تم اختياره. على سبيل المثال، يمكنك جدولة تشغيل الاختبار كل يوم في الساعة 5:00 مساءً.
- مخصّص: يجدول خطة الاختبار تلقائيًا عمليات الاختبار استنادًا إلى تعبير cron الذي تم إدخاله. على سبيل المثال،
لتحديد موعد تشغيل تجريبي كل يوم في الساعة 5:00 مساءً، يكون تعبير cron هو
0 17 * * *.
الشكل 22. إعداد خطة اختبار
إضافة مجموعات اختبار
أضِف حِزم الاختبار التي تريد أن يجدولها خطة الاختبار من خلال النقر على + إضافة إعداد تشغيل الاختبار. اختَر مجموعة اختبارات من القائمة المنسدلة الاسم وانقر على الخطوة التالية. بعد ذلك، اختَر الأجهزة التي تريد إجراء الاختبار عليها وانقر على إضافة إعداد. يمكنك إضافة إعدادات متعدّدة لكل خطة اختبار.
الشكل 23. إعداد تشغيل تجريبي
إضافة إجراءات الجهاز
أضِف إجراءات الجهاز التي تريد تنفيذها قبل كل عملية اختبار. لمزيد من التفاصيل، اطّلِع على إضافة إجراءات الجهاز.
الشكل 24. إضافة إجراءات الجهاز
ضبط موارد الاختبار
إنّ إضافة موارد الاختبار إلى خطط الاختبار هي نفسها إضافة الموارد إلى عمليات تشغيل الاختبار الفردية. لمزيد من التفاصيل، اطّلِع على إعداد موارد الاختبار.
الشكل 25. ضبط موارد الاختبار
عرض عمليات الاختبار
قائمة عمليات التشغيل التجريبي
اطّلِع على قائمة عمليات التشغيل المجدوَلة في صفحة "عمليات التشغيل". انقر على عرض للاطّلاع على مزيد من التفاصيل حول عملية اختبار.
يمكنك أيضًا فلترة القائمة من خلال إدخال سلسلة في شريط الفلتر والضغط على مفتاح Enter. يمكنك استخدام فلاتر متعددة من خلال الفصل بينها بفاصلة. يعرض الفلتر جميع الصفوف التي تحتوي على النص المحدد (بدون مطابقة السلسلة الفرعية) في أي عمود، باستثناء الحالة وتاريخ الإنشاء.
يؤدي الفلتر الفارغ إلى إرجاع جميع الصفوف. ليس هناك حاليًا طريقة لفلترة الصفوف التي تحتوي على قيم فارغة.
الشكل 26. قائمة عمليات التشغيل الاختبارية
تفاصيل عملية الاختبار
يمكنك الاطّلاع هنا على تفاصيل عملية الاختبار، مثل الحالة والسجلّات والنتائج.
الشكل 27. تفاصيل عملية الاختبار
حالة التشغيل التجريبي
يظهر مستوى تقدّم عملية الاختبار في قسم "الحالة". إذا كانت هناك رسالة ذات صلة، مثل تقدّم عملية التنزيل أو سبب الإلغاء أو رسالة خطأ، ستظهر هنا أيضًا.
الشكل 28. حالة التشغيل التجريبي
حالات التشغيل التجريبي هي:
- في انتظار المراجعة: يجري تنزيل الموارد المطلوبة.
- في قائمة الانتظار: الاختبار جاهز للتنفيذ عندما يتوفّر جهاز.
- قيد التنفيذ: يتم تنفيذ الاختبار على جهاز تم تخصيصه.
- مكتمل: اكتمل الاختبار وتم إعداد تقرير بنتائجه.
- تم الإلغاء: تم إلغاء الاختبار من قِبل المستخدم أو انتهت مهلته أثناء محاولة العثور على أجهزة متاحة.
- خطأ: حدث خطأ أدّى إلى عدم إمكانية تنفيذ الاختبار.
إلغاء تشغيل تجريبي
إذا لم يكتمل تشغيل الاختبار، يمكنك إلغاؤه بالنقر على إلغاء ثم على نعم في مربّع حوار التأكيد. يتم أيضًا إلغاء عمليات التشغيل التجريبي تلقائيًا إذا بقيت في حالة في انتظار المراجعة لمدة أطول من قيمة الحقل queue_timeout_seconds. قد يستغرق إلغاء تشغيل تجريبي أثناء الحالة قيد التشغيل بضع دقائق حتى يسري.
الشكل 29. إلغاء تشغيل اختبار
نتائج اختبار التنفيذ
بعد انتهاء عملية الاختبار، يتم جمع النتائج وعرضها. يمكنك الاطّلاع على تفاصيل إضافية من خلال النقر على السهم لكل عملية تنفيذ. انقر على عرض ملفات
الإخراج للاطّلاع على عناصر الاختبار التي تم جمعها، مثل test_result.xml وtest_result_failures.html.
الشكل 30. نتائج اختبار التنفيذ
يمكنك الاطّلاع على سجلّات المضيف المباشر وTradefed في علامة التبويب "السجلات".
الشكل 31. علامة التبويب "السجلات"
تظهر نتائج الوحدات الفردية في علامة التبويب "نتائج الاختبار".
الشكل 32. علامة التبويب "نتائج الاختبار"
يمكنك تنزيل الملفات المستخدَمة كمراجع للاختبار من خلال النقر على فتح في علامة التبويب "مراجع الاختبار".
الشكل 33. علامة التبويب "مراجع الاختبار"
للاطّلاع على تفاصيل عملية التشغيل التجريبي، مثل create_time، انتقِل إلى علامة التبويب "الإعداد".
الشكل 34 علامة التبويب "الإعدادات"
الميزات المتقدمة
إدارة ملفات الإعداد
تستخدم منصة OmniLab ATS ملفات الإعدادات المكتوبة بلغة YAML لتحميل الخيارات المحدّدة مسبقًا، مثل الاختبارات وقنوات الإصدارات وإجراءات الأجهزة. في ما يلي مثال على ملف الإعداد:
// example_file.yaml
tests:
- id : android.cts.9_0.arm
name: CTS 9.0 (ARM)
test_resource_defs:
- name: android-cts.zip
default_download_url: https://dl.google.com/dl/android/cts/android-cts-9.0_r7-linux_x86-arm.zip
test_resource_type: TEST_PACKAGE
command: cts
env_vars:
- name: TF_PATH
value: ${TF_WORK_DIR}/android-cts/tools:${TF_WORK_DIR}/android-cts/testcases
- name: LD_LIBRARY_PATH
value: ${TF_WORK_DIR}/android-cts/lib:${TF_WORK_DIR}/android-cts/lib64
setup_scripts:
output_file_patterns:
- android-cts/logs/latest/.*
- android-cts/results/latest/.*\.html
- android-cts/results/latest/compatibility_result\..*
- android-cts/results/latest/logo.png
- android-cts/results/latest/test_result.xml
result_file: test_result.xml
java_properties:
- name: CTS_ROOT
value: ${TF_WORK_DIR}
context_file_dir: android-cts/results/
context_file_pattern: '[\d_\.]+\.zip'
retry_command_line: retry --retry 0
runner_sharding_args: --shard-count ${TF_SHARD_COUNT}
build_channels:
- id: google_drive
name: Google Drive
provider_name: Google Drive
device_actions:
- id: flash
name: Flash
test_resource_defs:
- name: bootloader.img
test_resource_type: DEVICE_IMAGE
- name: radio.img
test_resource_type: DEVICE_IMAGE
- name: img.zip
test_resource_type: DEVICE_IMAGE
tradefed_target_preparers:
- class_name: com.android.tradefed.targetprep.RunHostCommandTargetPreparer
option_values:
- name: work-dir
values:
- ${TF_WORK_DIR}
- name: host-setup-command
values:
- adb -s $SERIAL reboot-bootloader
- fastboot -s $SERIAL flash bootloader bootloader.img
- fastboot -s $SERIAL flash radio radio.img
- fastboot -s $SERIAL reboot-bootloader
- fastboot -s $SERIAL -w update img.zip
- adb -s $SERIAL wait-for-device
- name: host-cmd-timeout
values:
- 10m
عند إعداد مثيل OmniLab ATS، يمكنك مشاركة إعداداتك مع مستخدمين آخرين من خلال تصديرها كملف. لإجراء ذلك، انتقِل إلى صفحة "الإعدادات" وانقر على تصدير في أعلى يسار الصفحة.
الشكل 35. إدارة ملفات الإعداد
بعد تنزيل ملف الإعداد، شارِكه مع مستخدمين آخرين. يمكنهم إضافة ملف الإعداد إلى مثيل OmniLab ATS من خلال النقر على استيراد واختيار ملف الإعداد.
إنشاء إجراء جديد على الجهاز
تُستخدَم إجراءات الجهاز لتنفيذ عملية إعداد الجهاز تلقائيًا. الإجراءات هي نصوص برمجية يتم تنفيذها على كل جهاز يتم إجراء الاختبار عليه قبل كل عملية اختبار، بما في ذلك قبل عمليات إعادة المحاولة. للاطّلاع على قائمة بإجراءات الأجهزة المتاحة، انتقِل إلى صفحة "الإعدادات" وانقر على علامة التبويب "إجراءات الأجهزة". تتوفّر العديد من إجراءات الجهاز التي تم ضبطها مسبقًا، مثل إعادة التشغيل وتثبيت البرامج.
الشكل 36. علامة التبويب "إجراءات الجهاز"
إضافة إجراء جديد للجهاز
انقر على إجراء جديد على الجهاز.
الشكل 37. زر الإجراء في الجهاز الجديد
أدخِل اسمًا ووصفًا.
الشكل 38. اسم إجراء الجهاز
انقر على إضافة مُعدّ الهدف.
أدخِل اسم الفئة الكاملة لأداة إعداد اتحاد التجارة المستهدَفة، على سبيل المثال،
com.android.tradefed.targetprep.RunHostCommandTargetPreparer.
الشكل 39. إضافة جهة إعداد مستهدَفة
يمكن العثور على قائمة بمحضّري الأهداف المتاحين في مرجع com.android.tradefed.targetprep.
الشكل 40. قائمة معدّي الطعام المستهدَفين
أضِف أي خيارات لاستخدامها مع أداة إعداد الهدف. للاطّلاع على الخيارات المتاحة، تحقَّق من targetprep للاطّلاع على الرمز المصدري لكل أداة إعداد مستهدَفة في مشروع AOSP:
الشكل 41. مثال على خيار الإجراء
لإضافة خيار، انقر على إضافة خيار إعداد الهدف وأدخِل القيم المطلوبة.
الشكل 42. مثال على طلب إجراء
حدِّد موارد الاختبار اللازمة لتنفيذ إجراء الجهاز، مثل إنشاء صور للبرامج الثابتة. لإضافة تعريف مورد، انقر على إضافة مورد اختبار واملأ الحقول المطلوبة. إذا كنت تعرف مكان تواجد ملفاتك، يمكنك تقديم عنوان URL تلقائي للتنزيل من خلال النقر على استعراض. إذا كان معدّو المستندات المستهدَفون يقبلون الدليل كمصدر اختبار، اختَر فك الضغط. بعد ذلك، حدِّد دليل الوجهة النسبي ضمن دليل العمل المؤقت وأسماء الملفات التي سيتم فك ضغطها. في حال عدم توفير أسماء ملفات، سيتم فك ضغط جميع الملفات من مورد الاختبار.
الشكل 43. موارد اختبار الإجراءات
انقر على تعديل.
الشكل 44. إجراء حفظ التغييرات
إدارة الاختبارات
تعديل اختبار
لتعديل اختبار محفوظ، انتقِل إلى صفحة "الاختبارات" وانقر على تعديل في صف الاختبار الذي تريد تعديله. بعد تغيير إعدادات الاختبار، انقر على تعديل.
الشكل 45. تعديل اختبار
إضافة اختبار جديد
لإضافة اختبار جديد، انتقِل إلى صفحة "الاختبارات" وانقر على إنشاء اختبار جديد. أدخِل المعلومات المناسبة وانقر على إنشاء.
الشكل 46. إنشاء اختبار
الشكل 47. نسخ اختبار
تصدير إعدادات المضيف
بعد إعداد مضيف، يمكنك تصدير إعدادات المضيف إلى ملف. يمكنك تحميل هذا الملف إلى مضيفين آخرين لنسخ الإعدادات المحفوظة.
لتصدير إعدادات مضيف، انتقِل إلى صفحة "الإعدادات" وانقر على تصدير في أعلى يسار الصفحة.
الشكل 48. تصدير إعدادات المضيف
لاستيراد ملف إعدادات مضيف، انتقِل إلى صفحة "الإعدادات" وانقر على استيراد في أعلى يسار الصفحة.
الشكل 49. استيراد إعدادات المضيف
استخدام الملفات والأدلة المحلية
بدءًا من الإصدار R11، يمكن الوصول تلقائيًا إلى الملفات في الدليل $HOME/.ats_storage في OmniLab ATS. انسخ ملفًا أو انقلْه إلى هذا الدليل، ثم يمكنك اختياره من علامة التبويب ملف محلي عند جدولة عملية تشغيل تجريبي.
cp /path/to/file $HOME/.ats_storage
الشكل 50. اختيار ملف من الدليل $HOME/.ats_storage
يمكنك ربط أدلة إضافية بمتجر الملفات المحلي باستخدام العلامة --mount_local_path.
mtt start --mount_local_path=/path/to/dir1 --mount_local_path=/path/to/dir2:renamed_dir2
الشكل 51. أدلة إضافية تم ربطها بمساحة تخزين الملفات المحلية
تفعيل وضع المضيفين المتعدّدين
باستخدام "وضع المضيف المتعدّد"، يمكن للمستخدمين استخدام مضيف واحد لوحدة تحكّم ATS من أجل إدارة الأجهزة والاختبارات على مضيفات متعددة لوحدة ATS.
الشكل 52. بنية وضع المضيفات المتعددة
لبدء وحدة التحكّم في ATS، استخدِم الأمر التالي:
mtt start --operation_mode=ON_PREMISEيمكنك التحقّق من إمكانية الوصول إلى وحدة التحكّم على
http://${CONTROLLER_HOSTNAME}:8000.لبدء العاملين، استخدِم الأمر التالي:
mtt start --control_server_url=http://CONTROLLER_HOSTNAME:8000 --operation_mode=ON_PREMISE
إذا كانت شبكتك لا تسمح للمضيفين بالتواصل مع بعضهم البعض، عليك اتّباع تعليمات الإعداد الأكثر تقدّمًا أدناه على عامل ATS.
اربط المضيفَين باستخدام أنفاق SSH. اختَر منافذ لخادمَي الملفات والخادم الأساسي، مثل 9000 و9006.
ssh -L ATS_PORT:localhost:8000 -L FS_PORT:localhost:8006 CONTROLLER_HOSTNAMEضبط ATS وبدء استخدامه
DOCKER_GATEWAY_IP_ADDRESS=$(ip -4 addr show dev docker0 | grep -Eo 'inet [.0-9]+/' | grep -Eo '[.0-9]+')socat tcp-listen:ATS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:ATS_PORT &socat tcp-listen:FS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:FS_PORT &mtt start --control_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:ATS_PORT \ --control_file_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:FS_PORT \ --operation_mode=ON_PREMISE
منظّف الملفات
منظّف الملفات هو مهمة cron يتم تنفيذها كل ساعة لتنظيف الملفات استنادًا إلى الإعدادات التي يحدّدها المستخدم. يحتوي ATS على إعدادَين تلقائيَين لأرشفة نتائج عمليات تشغيل الاختبار وحذف الملفات المؤقتة. يوضّح هذا الدليل كيفية تخصيص السياسات والإعدادات لإدارة ملفاتك بفعالية.
السياسات
تحدّد السياسة العملية التي سيتم تنفيذها على الملفات أو الأدلة، والمعايير التي سيتم استخدامها لاختيار الأهداف. يتم عرض العمليات المتاحة في الجدول:
| نوع العملية | المعلمات |
|---|---|
ARCHIVE | remove_file: إذا كان true، أزِل الملف بعد أرشفته. |
DELETE |
تستند المعايير إلى سمات الملف ومعلومات النظام. تظهر المعايير المتاحة في الجدول:
| نوع المعيار | الوصف | المعلمات |
|---|---|---|
LAST_MODIFIED_TIME | فلترة الملفات استنادًا إلى تاريخ ووقت آخر تعديل لها | ttl: تتوفّر أنواع مختلفة من تعابير الوقت، مثل 10m و2h و7 days و4w. يُرجى الاطّلاع على pytimeparse لمعرفة التنسيقات المتوافقة. |
LAST_ACCESS_TIME | فلترة الملفات استنادًا إلى تاريخ ووقت آخر وصول إليها | هي نفسها LAST_MODIFIED_TIME. |
NAME_MATCH | فلترة الملفات استنادًا إلى اسمها باستخدام تعبير عادي | pattern: تعبير عادي، مثل [a-f0-9]{8}-([a-f0-9]{4}-){3}[a-f0-9]{12}\.zip لمطابقة الرموز البريدية للنتائج |
SYSTEM_AVAILABLE_SPACE | تنفيذ إجراءات استنادًا إلى المساحة المتوفّرة على النظام | threshold: يتم تشغيل الإجراء عندما تقل المساحة المتوفّرة عن الحدّ الأدنى، مثل 200(ب) و200KB و200MB و200GB و2TB. |
الشكل 53. أضِف سياسة جديدة لتنظيف الملفات.
الإعدادات
تجمع الإعدادات بين سياسة واحدة أو أكثر مع أدلة معيّنة. تتم معالجة الملفات والأدلة ضمن الأدلة المحدّدة استنادًا إلى السياسات المحدّدة. يتم تطبيق السياسات بالترتيب الذي تظهر به في ملف الإعداد.
يجب أن تكون جميع الأدلة المستهدَفة ضِمن الدليل /data. إذا حدّد الإعداد الدليل المستهدف على أنّه logs، سيتم تفسيره على أنّه /data/logs.
الشكل 54. عدِّل إعدادات أداة تنظيف الملفات.
إعادة الضبط
يؤدي النقر على إعادة ضبط الإعدادات إلى إعادة ضبط إعدادات أداة تنظيف الملفات إلى حالتها التلقائية. يؤدي هذا الإجراء إلى محو جميع العناصر المخصّصة.
الشكل 55. إعادة ضبط إعدادات أداة تنظيف الملفات
الدعم
تقارير الأخطاء
تساعد مساهمتك في أداة OmniLab ATS في تحسين عملية تطوير الأداة، ونريد أن نسمع منك. راجِع ملاحظات إصدار OmniLab ATS للحصول على تفاصيل حول أحدث إصدار. للإبلاغ عن أخطاء أو تقديم اقتراحات، يُرجى إرسال تقرير خطأ. على الشركاء الإبلاغ عن الأخطاء أو تقديم الاقتراحات باستخدام قنواتهم الشريكة.