OmniLab ATS هي أداة اختبار يمكن لمطوّري برامج Android ومهندسي الاختبار استخدامها لتشغيل واجهة مستخدم لتشغيل حزم اختبار Android العادية، مثل مجموعة أدوات اختبار التوافق (CTS) مع Android. تعمل هذه الأداة كواجهة ويب لأُطر عمل الاختبار المختلفة، مثل Trade Federation (TF) وGoogle Mobly، ما يتيح لك إجراء اختبارات CTS واختبارات الأجهزة المتعددة على مجموعة من الأجهزة الاختبارية بأقل قدر من الإعداد، بالإضافة إلى وضع جدول زمني لإجراء الاختبارات باستمرار.
مقدّمة عن OmniLab ATS 2.0
ينقل 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، يجب ترقية محطتك إلى الإصدار R52 أو إصدار أحدث. استخدِم العلامة --force_ats_version 2 للتبديل إلى الإصدار الجديد
Omnilab ATS 2.0، والعلامة --force_update مع الأمر
mtt start للترقية إلى أحدث إصدار:
mtt start --force_ats_version 2 --force_update
خلال فترة نقل البيانات، ننصح باستخدام العلامة dogfood للوصول إلى
أحدث إصدار ثابت يتضمّن ميزات OmniLab ATS 2.0:
mtt start --force_ats_version 2 --tag dogfood --force_update
نخطط لجعل OmniLab ATS 2.0 الإصدار التلقائي في الربع الثالث من عام 2026. نخطّط لإيقاف OmniLab ATS 1.0 نهائيًا بحلول نهاية عام 2026.
لمزيد من التفاصيل حول تحديثات معيّنة والاختلافات المعروفة وإرشادات الترقية، يُرجى الاطّلاع على دليل الترقية إلى OmniLab ATS 2.0.
إعداد OmniLab ATS
يوضّح هذا القسم كيفية تثبيت OmniLab ATS وإعدادها.
يستخدم OmniLab ATS الرمز المصدر من المواقع التالية:
- الرمز المصدري لـ OmniLab ATS
- الرمز المصدر لـ TradeFed Cluster
تثبيت OmniLab ATS
اتّبِع أي متطلبات للأجهزة والبرامج في الحزم الاختبارية التي تشغّلها.
يمكنك الاطّلاع على متطلبات "مجموعة أدوات اختبار التوافق" (CTS) على source.android.com.
لا توجد متطلبات إضافية للأجهزة في OmniLab ATS، ولكننا ننصح باستخدام متطلبات مضيف CTS كنقطة بداية.
هناك طريقتان لتثبيت OmniLab ATS:
- شغِّل برنامج التثبيت.
- تثبيته يدويًا، وهو ما يتطلب تثبيت برامج وموارد متعددة.
التثبيت باستخدام برنامج التثبيت
يتوافق برنامج التثبيت مع الإصدار 22.04 من Ubuntu والإصدارات الأحدث. تقوم أداة التثبيت بتثبيت وتكوين جميع البرامج والموارد اللازمة لتشغيل 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 كمستخدم غير جذر.
قد تحتاج إلى إعادة تشغيل نافذة المحطة الطرفية أو تسجيل الخروج وتسجيل الدخول مرة أخرى لتطبيق تغييرات الأذونات.
تثبيت Python 3
تتطلّب واجهة سطر الأوامر في OmniLab ATS الإصدار 22.04 من نظام التشغيل Ubuntu أو إصدارًا أحدث. يتم التحقّق من واجهة سطر الأوامر (CLI) من خلال إصدارات Python من 3.10 إلى 3.13.
لتثبيت Python 3، شغِّل الأوامر التالية:
sudo apt-get updatesudo apt install python3 python3-distutils
إذا كنت بحاجة إلى إصدار من Python 3 غير مضمّن في التوزيعة العادية، عليك أولاً إضافة مستودع Python 3 من خلال تنفيذ أحد الإجراءات التالية:
نفِّذ الأمر التالي:
sudo add-apt-repository ppa:deadsnakes/ppa
أنشئ المستودع وثبِّته من المصدر.
لتثبيت إصدار معيّن من Python 3 (على سبيل المثال، 3.10)، شغِّل هذه الأوامر بدلاً من ذلك:
sudo apt-get updatesudo apt install python3.10 python3.10-distutils
الحصول على واجهة سطر أوامر OmniLab ATS
نزِّل حزمة واجهة سطر الأوامر (CLI) من هنا.
بدء OmniLab ATS
ابدأ 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، ستظهر لك قائمة بجميع مجموعات الإعدادات المتاحة لك.
اختَر أي مجموعات إعدادات تريد إضافتها إلى مضيف "محطة الاختبار" وانقر على استيراد المحدّد.
الشكل 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 محاولات لإعادة تشغيل مجموعة أدوات اختبار التوافق (CTS) بالكامل من أجل التعامل مع الاختبارات غير المستقرة.
- مهلة قائمة الانتظار: إذا ظلّت عملية الاختبار في حالة في قائمة الانتظار لفترة طويلة جدًا، يتم إلغاؤها تلقائيًا. حدِّد مقدار الوقت المطلوب انتظاره قبل الإلغاء هنا. القيمة التلقائية هي 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: اختبار أداة اختيار الموارد - 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: علامة التبويب "السجلّات"
تظهر نتائج الوحدات الفردية في علامة التبويب "نتائج الاختبار" (Test Results).
الشكل 32: علامة التبويب "نتائج الاختبار" (Test Results)
يمكنك تنزيل الملفات المستخدمة كمراجع اختبار بالنقر فوق Open (فتح) في علامة التبويب "Test Resources" (مراجع الاختبار).
الشكل 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: اسم إجراء الجهاز
انقر على إضافة مُعدّ مستهدَف.
أدخِل الاسم الكامل لفئة "مُعِدّ الهدف" في Trade Federation، على سبيل المثال،
com.android.tradefed.targetprep.RunHostCommandTargetPreparer.
الشكل 39: إضافة مُعدّ مستهدَف
يمكن العثور على قائمة بمُعدّي الأهداف المتاحين في مرجع com.android.tradefed.targetprep.
الشكل 40: قائمة "مُعدّو الإقرارات الضريبية المستهدَفون"
أضِف أي خيارات لاستخدامها مع أداة الإعداد المستهدَفة. للاطّلاع على الخيارات المتاحة، يُرجى مراجعة targetprep للحصول على الرمز المصدر لكل مُعدّ مستهدَف في مشروع Android المفتوح المصدر (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 لمطابقة ملفات ZIP الناتجة |
SYSTEM_AVAILABLE_SPACE | يمكنك بدء الإجراءات استنادًا إلى المساحة المتوفّرة على النظام. | threshold: لتنفيذ إجراء عندما تقلّ المساحة المتاحة عن الحدّ الأدنى، على سبيل المثال، 200(ب) أو 200KB أو 200MB أو 200GB أو 2TB. |
الشكل 53: إضافة سياسة جديدة لتنظيف الملفات
الإعدادات
تجمع الإعدادات بين سياسة واحدة أو أكثر وأدلة محدّدة. تتم معالجة الملفات والأدلة ضمن الأدلة المحدّدة استنادًا إلى السياسات المحدّدة. يتم تطبيق السياسات بالترتيب الذي تظهر به في الإعدادات.
يجب أن تكون جميع الأدلة المستهدَفة ضمن الدليل /data. إذا كان ملف الإعدادات يحدّد الدليل المستهدف على أنّه logs، يتم تفسيره على أنّه /data/logs.
الشكل 54: عدِّل إعدادات أداة تنظيف الملفات.
إعادة الضبط
يؤدي النقر على إعادة ضبط الإعدادات إلى إعادة ضبط إعدادات أداة تنظيف الملفات على حالتها التلقائية. يؤدي هذا الإجراء إلى محو جميع العناصر المخصّصة.
الشكل 55: إعادة ضبط إعدادات أداة تنظيف الملفات
الدعم
تقارير الأخطاء
تساعد مساهمتك في OmniLab ATS في تحسين تطوير الأداة، ونريد معرفة رأيك. راجِع ملاحظات إصدار OmniLab ATS للحصول على تفاصيل حول أحدث إصدار. للإبلاغ عن الأخطاء أو تقديم اقتراحات، يُرجى تقديم تقرير خطأ. على الشركاء الإبلاغ عن الأخطاء أو تقديم الاقتراحات باستخدام قنوات الشركاء.