OmniLab ATS هي أداة اختبار يمكن لمطوّري تطبيقات Android ومهندسي الاختبار استخدامها لتوظيف واجهة مستخدم لتشغيل مجموعات اختبار Android العادية، مثل مجموعة أدوات اختبار التوافق (CTS) لنظام التشغيل Android. تعمل هذه الأداة كواجهة ويب لأُطر الاختبار المختلفة، مثل Trade Federation (TF) وGoogle Mobly، ما يتيح لك إجراء اختبارات مجموعة أدوات اختبار التوافق (CTS) واختبارات الأجهزة المتعددة على مجموعة من الأجهزة الاختبارية بأقل قدر من الإعداد، بالإضافة إلى وضع جدول زمني لإجراء الاختبارات باستمرار.
إعداد مجموعة أدوات اختبار السيارات (ATS) في OmniLab
يوضّح هذا القسم كيفية تثبيت منصة OmniLab ATS وإعدادها.
يستخدم نظام OmniLab ATS رمز المصدر من المواقع الجغرافية التالية:
- OmniLab ATS رمز المصدر
- رمز مصدر TradeFed Cluster
تثبيت 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
إنشاء المستودع وتثبيته من المصدر
لتثبيت Python 3، شغِّل الأوامر التالية:
sudo apt-get update
sudo apt install python3 python3-distutils
لتثبيت إصدار معيّن من Python 3 (على سبيل المثال، 3.10)، شغِّل الأوامر التالية بدلاً من ذلك:
sudo apt-get update
sudo 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
إعادة تنفيذ الأمر: الأمر الخاص بإعادة تنفيذ مجموعة اختبار. يمكنك إضافة وسيطات إضافية لسطر الأوامر هنا. على سبيل المثال، لإعادة محاولة وحدة نمطية معيّنة فقط في الإصدار 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. بدء تشغيل اختبار
إنشاء خطة اختبار
تُستخدَم خطط الاختبار لإنشاء عمليات اختبار بشكل دوري. على سبيل المثال، تشغيل حزمة اختبار التوافق 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. اسم إجراء الجهاز
انقر على إضافة مُعدّ الهدف.
أدخِل اسم الفئة الكامل لمُعدّ Target Preparer الخاص بـ اتحاد التجارة، على سبيل المثال،
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 لمطابقة الرموز البريدية للنتائج. |
SYSTEM_AVAILABLE_SPACE | تنفيذ إجراءات استنادًا إلى المساحة المتوفّرة على النظام | threshold : يتم تشغيل الإجراء عندما تقل المساحة المتوفّرة عن الحدّ الأدنى، مثل 200 (ب) و200KB و200MB و200GB و2TB . |
الشكل 53. أضِف سياسة جديدة لتنظيف الملفات.
الإعدادات
تجمع الإعدادات بين سياسة واحدة أو أكثر مع أدلة معيّنة. تتم معالجة الملفات والأدلة ضمن الأدلة المحدّدة استنادًا إلى السياسات المحدّدة. يتم تطبيق السياسات بالترتيب الذي تظهر به في ملف الإعداد.
يجب أن تكون جميع الأدلة المستهدَفة ضِمن الدليل /data
. إذا حدّد الإعداد الدليل المستهدف على أنّه logs
، سيتم تفسيره على أنّه /data/logs
.
الشكل 54. عدِّل إعدادات أداة تنظيف الملفات.
إعادة الضبط
يؤدي النقر على إعادة ضبط الإعدادات إلى إعادة ضبط إعدادات أداة تنظيف الملفات إلى حالتها التلقائية. يؤدي هذا الإجراء إلى محو جميع العناصر المخصّصة.
الشكل 55. إعادة ضبط إعدادات "منظّف الملفات"
الدعم
تقارير الأخطاء
تساعد مساهمتك في OmniLab ATS في تحسين تطوير الأداة، ونريد أن نعرف رأيك. راجِع ملاحظات إصدار OmniLab ATS للحصول على تفاصيل حول أحدث إصدار. للإبلاغ عن أخطاء أو تقديم اقتراحات، يُرجى إرسال تقرير عن الخطأ. على الشركاء الإبلاغ عن الأخطاء أو تقديم الاقتراحات باستخدام قنواتهم الشريكة.