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

‫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

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

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

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

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

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

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

تثبيت Python 3

تتطلّب واجهة سطر الأوامر في OmniLab ATS الإصدار 22.04 من نظام التشغيل Ubuntu أو إصدارًا أحدث. يتم التحقّق من واجهة سطر الأوامر (CLI) من خلال إصدارات Python من 3.10 إلى 3.13.

لتثبيت Python 3، شغِّل الأوامر التالية:

sudo apt-get update
sudo apt install python3 python3-distutils

إذا كنت بحاجة إلى إصدار من Python 3 غير مضمّن في التوزيعة العادية، عليك أولاً إضافة مستودع Python 3 من خلال تنفيذ أحد الإجراءات التالية:

  • نفِّذ الأمر التالي:

    sudo add-apt-repository ppa:deadsnakes/ppa
    
  • أنشئ المستودع وثبِّته من المصدر.

لتثبيت إصدار معيّن من Python 3 (على سبيل المثال، 3.10)، شغِّل هذه الأوامر بدلاً من ذلك:

sudo apt-get update
sudo 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 الاختياري.

إعدادات 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 محاولات لإعادة تشغيل مجموعة أدوات اختبار التوافق (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 للتنزيل، والنقر على الزر اختيار لتأكيد الاختيار.

Test Resource Selector - Web URL

الشكل 15: اختبار أداة اختيار الموارد - عنوان URL للويب

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

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

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

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

    زر الإجراء الخاص بجهاز جديد

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

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

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

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

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

  4. أدخِل الاسم الكامل لفئة "مُعِدّ الهدف" في Trade Federation، على سبيل المثال، com.android.tradefed.targetprep.RunHostCommandTargetPreparer.

    إضافة مُعِدّ مستهدَف

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

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

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

    الشكل 40: قائمة "مُعدّو الإقرارات الضريبية المستهدَفون"

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

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

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

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

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

    الشكل 42: مثال على أمر إجراء

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

    مراجع اختبار الإجراءات

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

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

    حفظ التغييرات

    الشكل 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 لمطابقة ملفات ZIP الناتجة
SYSTEM_AVAILABLE_SPACEيمكنك بدء الإجراءات استنادًا إلى المساحة المتوفّرة على النظام.‫threshold: لتنفيذ إجراء عندما تقلّ المساحة المتاحة عن الحدّ الأدنى، على سبيل المثال، 200(ب) أو 200KB أو 200MB أو 200GB أو 2TB.

سياسة جديدة بشأن أدوات تنظيف الملفات

الشكل 53: إضافة سياسة جديدة لتنظيف الملفات

الإعدادات

تجمع الإعدادات بين سياسة واحدة أو أكثر وأدلة محدّدة. تتم معالجة الملفات والأدلة ضمن الأدلة المحدّدة استنادًا إلى السياسات المحدّدة. يتم تطبيق السياسات بالترتيب الذي تظهر به في الإعدادات.

يجب أن تكون جميع الأدلة المستهدَفة ضمن الدليل /data. إذا كان ملف الإعدادات يحدّد الدليل المستهدف على أنّه logs، يتم تفسيره على أنّه /data/logs.

تعديل إعدادات أداة تنظيف الملفات

الشكل 54: عدِّل إعدادات أداة تنظيف الملفات.

إعادة الضبط

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

إعادة ضبط إعدادات أداة تنظيف الملفات

الشكل 55: إعادة ضبط إعدادات أداة تنظيف الملفات

الدعم

تقارير الأخطاء

تساعد مساهمتك في OmniLab ATS في تحسين تطوير الأداة، ونريد معرفة رأيك. راجِع ملاحظات إصدار OmniLab ATS للحصول على تفاصيل حول أحدث إصدار. للإبلاغ عن الأخطاء أو تقديم اقتراحات، يُرجى تقديم تقرير خطأ. على الشركاء الإبلاغ عن الأخطاء أو تقديم الاقتراحات باستخدام قنوات الشركاء.