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

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

إعداد OmniLab ATS

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

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

تثبيت OmniLab ATS

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

يمكنك الاطّلاع على متطلبات CTS على الرابط source.android.com.

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

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

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

في الإصدار 20.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 CLI مع إصدارات 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

الحصول على واجهة سطر أوامر 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: اختيار اختبار

لتعديل اختبارات جديدة أو إضافتها، اطّلِع على إضافة اختبارات.

ضبط إجراء الاختبار

عدِّل المَعلمات لاستخدامها في عملية إجراء الاختبار المحدّدة هذه. يتم مسبقًا ملء معظم المَعلمات بقيم محدّدة في إعداد الاختبار المحدّد.

يمكن إكمال هذه الخطوة باستخدام القيم التلقائية، ولكن يمكنك تغيير أي من المعلَمات، مثل Max إعادة المحاولة وCommand، وفقًا لاحتياجاتك.

ضبط اختبار التنفيذ

الشكل 8: ضبط عملية تنفيذ اختبار

في ما يلي مَعلمات تشغيل الاختبار:

  • الاسم: اسم مجموعة الاختبار التي تريد تشغيلها.
  • عدد عمليات التشغيل: عدد المرات التي يجب تنفيذ عملية تشغيل الاختبار هذه فيها عند تحديد جدول زمني لها يتم تحديد موعد عمليات التشغيل التجريبية باستخدام Trade Federation، الذي يُجري ما يصل إلى 20 عملية تشغيل تجريبية بشكل متزامن إذا كانت هناك سعة لإجراء ذلك.
  • الحد الأقصى لإعادة المحاولة: الحد الأقصى لعدد المرات التي يمكن فيها إعادة إجراء اختبار في حال تعذّر تنفيذ اختبار واحد على الأقل. يتم ضبط هذا عادةً من 4 إلى 6 مرات لإعادة المحاولة لإجراء اختبار CTS بالكامل للتعامل مع الاختبارات غير المستقرة.
  • المهلة في "القائمة الانتظار": إذا ظلّت عملية تنفيذ الاختبار في الحالة في انتظار المراجعة لفترة طويلة جدًا، سيتم إلغاؤها تلقائيًا. حدِّد هنا مدة الانتظار قبل الإلغاء. القيمة التلقائية هي 24 ساعة.
  • الأمر: هو الأمر الذي يتم استخدامه لتشغيل مجموعة الاختبار. يمكنك إدخال وسيطات سطر أوامر إضافية هنا. على سبيل المثال، قم بتشغيل وحدة معينة في الإصدار 8.1 من CTS باستخدام:

    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_type
  • hostname
  • المنتج
  • product_variant
  • sim_state

يجب أن تكون جميع الأجهزة المحدّدة في حالة متاحة لتنفيذ عملية التشغيل التجريبي، ويتم تبديلها جميعًا إلى الحالة مخصّصة عند تنفيذ عملية التشغيل التجريبي. تكون عملية الاختبار في الحالة في انتظار المراجعة أثناء انتظار توفّر الأجهزة.

إضافة إجراءات الجهاز

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

إجراءات الجهاز

الشكل 12. إجراءات الجهاز

لإضافة إجراء جهاز إلى عملية اختبار، انقر على إضافة إجراء جديد، واختَر مربعات الاختيار للإجراءات التي تريد إضافتها، ثم انقر على إضافة إجراءات. يتم تنفيذ إجراءات الجهاز بشكل تسلسلي. يمكنك إعادة ترتيب الإجراءات من خلال سحبها.

إضافة إجراءات

الشكل 13. إعادة ترتيب الإجراءات.

ضبط موارد الاختبار

مَراجع الاختبار هي الملفات المطلوبة لتنفيذ عملية اختبار. على سبيل المثال، يتطلب تشغيل CTS ملف android-cts*.zip، ويتطلّب منك وميض الجهاز توفير صورة الإصدار.

يجب أن يشير عنوان URL لتنزيل ملف zip الخاص بمجموعة الاختبار تلقائيًا إلى روابط Google Drive التي تم منحها للشركاء. يمكنك اختيار ملف مختلف بالنقر على تصفّح. في النافذة المنبثقة، يمكنك إدخال رابط لتنزيل ملف أو استخدام ملف من قناة إصدار مصادقة أو تحميل ملف لاستخدامه من مساحة التخزين على الجهاز.

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

الشكل 14: اختبار الموارد

في ما يلي النافذة المنبثقة لاختيار مورد اختبار من خلال عنوان URL على الويب. يمكنك إدخال رابط عنوان URL للتنزيل، والنقر على الزر اختيار لتأكيد الاختيار.

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

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

إذا حمّلت مواد مرجعية إلى Google Grive أو 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: السجلات:

تتوفّر نتائج الوحدات الفردية في علامة التبويب "نتائج الاختبار".

علامة تبويب "نتائج الاختبار"

الشكل 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 من خلال النقر على استيراد واختيار ملف الضبط.

إنشاء إجراء جهاز جديد

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

علامة التبويب "إجراءات الجهاز"

الشكل 36: علامة التبويب "إجراءات الجهاز"

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

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

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

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

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

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

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

  3. انقر على إضافة جهة إعداد الاستهداف.

  4. أدخِل اسم الفئة الكاملة لإعداد اتحاد التجارة المستهدَف، على سبيل المثال، com.android.tradefed.targetprep.RunHostCommandTargetPreparer.

    إضافة أداة التجهيز المستهدفة

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

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

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

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

  5. أضِف أي خيارات لاستخدامها مع مُعدّ التقارير المستهدف. للاطّلاع على الخيارات المتاحة، تحقَّق targetprep من رمز المصدر لكل أداة إعداد الإصدار المستهدف في 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. ربط المضيفين باستخدام أنفاق بروتوكول النقل الآمن. حدد المنافذ للمنفذ الأساسي ومنافذ خادم الملفات، على سبيل المثال، 9000 و9006.

    ssh -L ATS_PORT:localhost:8000 -L FS_PORT:localhost:8006 CONTROLLER_HOSTNAME
    
  2. اضبط ميزة "التسويف الذكي للإعلانات" وابدأ استخدامها.

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