محطة اختبار Android من OmniLab

‫OmniLab ATS هي أداة اختبار يمكن لمطوّري تطبيقات Android ومهندسي الاختبار استخدامها لتوظيف واجهة مستخدم لتشغيل مجموعات اختبار Android العادية، مثل مجموعة أدوات اختبار التوافق (CTS) لنظام التشغيل Android. تعمل هذه الأداة كواجهة ويب لأُطر الاختبار المختلفة، مثل Trade Federation (TF) وGoogle Mobly، ما يتيح لك إجراء اختبارات مجموعة أدوات اختبار التوافق (CTS) واختبارات الأجهزة المتعددة على مجموعة من الأجهزة الاختبارية بأقل قدر من الإعداد، بالإضافة إلى وضع جدول زمني لإجراء الاختبارات باستمرار.

إعداد مجموعة أدوات اختبار السيارات (ATS) في OmniLab

يوضّح هذا القسم كيفية تثبيت منصة OmniLab ATS وإعدادها.

يستخدم نظام OmniLab ATS رمز المصدر من المواقع الجغرافية التالية:

تثبيت OmniLab ATS

اتّبِع أي متطلبات للأجهزة والبرامج في حِزم الاختبارات التي تجريها.

يمكنك الاطّلاع على متطلبات مجموعة أدوات اختبار التوافق (CTS) على source.android.com.

لا تتطلّب منصة OmniLab ATS أي متطلبات إضافية للأجهزة، ولكن ننصحك باستخدام متطلبات مضيف مجموعة اختبار التوافق (CTS) كنقطة بداية.

هناك طريقتان لتثبيت OmniLab ATS:

التثبيت باستخدام برنامج التثبيت

على نظام التشغيل Ubuntu 20.04 أو الإصدارات الأحدث، يثبِّت برنامج التثبيت جميع البرامج والموارد اللازمة لتشغيل OmniLab ATS ويضبطها.

لاستخدام برنامج التثبيت، اتّبِع الخطوات التالية:

  1. شغِّل برنامج أداة التثبيت:

    curl https://storage.googleapis.com/android-mtt.appspot.com/prod/install.sh | bash
    
  2. نفِّذ الأمر mtt version للتحقّق من إصدار OmniLab ATS CLI المثبَّت.

التثبيت يدويًا

تثبيت Docker
  1. اتّبِع تعليمات تثبيت Docker Community Edition (CE) على جهاز Linux.

  2. اتّبِع خطوات ما بعد التثبيت لإدارة Docker كمستخدم غير رئيسي.

  3. قد تحتاج إلى إعادة تشغيل نافذة الجهاز الطرفي أو تسجيل الخروج ثم تسجيل الدخول مرة أخرى حتى تصبح تغييرات الأذونات سارية.

تثبيت الإصدار 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 الاختياري.

إعدادات Wi-Fi

الشكل 5. إعدادات نقطة اتصال Wi-Fi

بعد إكمال "معالج الإعداد"، تتم إعادة تحميل الصفحة مع تطبيق الإعدادات الجديدة.

ربط جهاز

يجب تفعيل خيار "تصحيح أخطاء الجهاز عبر USB" لاستخدام جهاز لأغراض الاختبار. لتفعيل تصحيح الأخطاء، اتّبِع الخطوات التالية:

  1. اتّبِع التعليمات الواردة في مقالة تفعيل خيارات المطوّرين وتصحيح الأخطاء.

  2. إذا كنت تخطّط لاستخدام إصدارات Android اختبارية محمَّلة مسبقًا بمفاتيح ADB مخصّصة، ضَع ملفات .adb_key المخصّصة ضمن الدليل ~/.android/.

    يتم تحميل الملفات تلقائيًا ونقلها إلى ADB لتفعيل تصحيح أخطاء USB تلقائيًا بعد إعادة ضبط الجهاز الذي يعمل بهذه الإصدارات.

  3. وصِّل الجهاز بالجهاز المضيف باستخدام 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 للتنزيل، ثم النقر على الزر اختيار لتأكيد الاختيار.

اختبار محدّد الموارد - عنوان URL على الويب

الشكل 15. اختبار محدّد الموارد - عنوان URL على الويب

إذا حمّلت مراجع إلى Google Drive أو Google Cloud Storage (GCS) أو قنوات أخرى، يمكنك أيضًا الانتقال إلى علامة التبويب الخاصة بالقناة المحدّدة واختيار المراجع من هناك. في ما يلي مثال على اختيار مرجع من Google Drive.

أداة اختبار "محدّد الموارد" - 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. علامة التبويب "إجراءات الجهاز"

إضافة إجراء جديد للجهاز

  1. انقر على إجراء جديد على الجهاز.

    زر "إجراء جديد على الجهاز"

    الشكل 37. زر إجراء الجهاز الجديد

  2. أدخِل اسمًا ووصفًا.

    اسم إجراء الجهاز

    الشكل 38. اسم إجراء الجهاز

  3. انقر على إضافة مُعدّ الهدف.

  4. أدخِل اسم الفئة الكامل لمُعدّ Target Preparer الخاص بـ اتحاد التجارة، على سبيل المثال، com.android.tradefed.targetprep.RunHostCommandTargetPreparer.

    إضافة أداة إعداد الاستهداف

    الشكل 39 إضافة مُعدّ مستند مستهدف

    يمكن العثور على قائمة ببرامج إعداد الأهداف المتاحة في مرجع com.android.tradefed.targetprep.

    قائمة الجهات المُعدّة المستهدَفة

    الشكل 40. قائمة معدّي المستندات المستهدَفة

  5. أضِف أي خيارات لاستخدامها مع أداة إعداد الاستهداف. للاطّلاع على الخيارات المتاحة، تحقَّق من targetprep للاطّلاع على الرمز المصدر لكل أداة إعداد مستهدَفة في مشروع Android مفتوح المصدر (AOSP):

    مثال على خيار الإجراء

    الشكل 41. مثال على خيار الإجراء

  6. لإضافة خيار، انقر على إضافة خيار إعداد الهدف وأدخِل القيم المطلوبة.

    مثال على أمر الإجراء

    الشكل 42. مثال على طلب إجراء

  7. حدِّد موارد الاختبار اللازمة لتنفيذ إجراء الجهاز، مثل إنشاء صور للبرامج الثابتة. لإضافة تعريف مورد، انقر على إضافة مورد اختبار واملأ الحقول المطلوبة. إذا كنت تعرف مكان تواجد ملفاتك، يمكنك تقديم عنوان URL تلقائي للتنزيل من خلال النقر على استعراض. إذا كان معدّو المستندات المستهدَفون يقبلون الدليل كمصدر اختبار، اختَر فك الضغط. بعد ذلك، حدِّد دليل الوجهة النسبي ضمن دليل العمل المؤقت وأسماء الملفات التي سيتم فك ضغطها. في حال عدم توفير أسماء ملفات، سيتم فك ضغط جميع الملفات من مورد الاختبار.

    موارد اختبار الإجراءات

    الشكل 43. موارد اختبار الإجراءات

  8. انقر على تعديل.

    Action Save Changes

    الشكل 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. بنية وضع المضيفات المتعددة

  1. لبدء وحدة التحكّم في ATS، استخدِم الأمر التالي:

    mtt start --operation_mode=ON_PREMISE
    
  2. يمكنك التحقّق من إمكانية الوصول إلى أداة التحكّم على http://${CONTROLLER_HOSTNAME}:8000.

  3. لبدء العاملين، استخدِم الأمر التالي:

    mtt start --control_server_url=http://CONTROLLER_HOSTNAME:8000 --operation_mode=ON_PREMISE
    

إذا كانت شبكتك لا تسمح للمضيفين بالتواصل مع بعضهم البعض، عليك اتّباع تعليمات الإعداد الأكثر تقدّمًا أدناه على عامل ATS.

  1. وصِّل المضيفَين باستخدام أنفاق SSH. اختَر منافذ لخادمَي الملفات والخادم الأساسي، مثل 9000 و9006.

    ssh -L ATS_PORT:localhost:8000 -L FS_PORT:localhost:8006 CONTROLLER_HOSTNAME
    
  2. ضبط 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 على إعدادَين تلقائيَين لأرشفة نتائج تشغيل الاختبار وحذف الملفات المؤقتة. يوضّح هذا الدليل كيفية تخصيص السياسات والإعدادات لإدارة ملفاتك بفعالية.

السياسات

تحدّد السياسة العملية التي سيتم تنفيذها على الملفات أو الأدلة، والمعايير التي سيتم استخدامها لاختيار الأهداف. تظهر العمليات المتاحة في الجدول:

نوع العمليةالمعلمات
ARCHIVEremove_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 للحصول على تفاصيل حول أحدث إصدار. للإبلاغ عن أخطاء أو تقديم اقتراحات، يُرجى إرسال تقرير عن الخطأ. على الشركاء الإبلاغ عن الأخطاء أو تقديم الاقتراحات باستخدام قنواتهم الشريكة.