محطة اختبار Android

Android Test Station هي أداة اختبار يمكن لمطوري Android ومهندسي الاختبار استخدامها لتوظيف واجهة مستخدم لتشغيل مجموعات اختبار Android القياسية، مثل مجموعة اختبار توافق Android (CTS) . تعمل هذه الأداة كواجهة ويب للاتحاد التجاري (TF) ، مما يتيح لك تشغيل CTS بسهولة على مجموعة من أجهزة الاختبار بأقل قدر من الإعداد، بالإضافة إلى وضع جدول زمني لإجراء الاختبارات بشكل مستمر.

قم بإعداد محطة اختبار Android

يشرح هذا القسم كيفية تثبيت وإعداد محطة اختبار Android.

تستخدم محطة اختبار Android الكود المصدري من هذه المواقع:

تثبيت محطة اختبار أندرويد

اتبع أي متطلبات للأجهزة والبرامج الخاصة بمجموعات الاختبارات التي تقوم بتشغيلها.

تم العثور على متطلبات CTS على source.android.com .

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

هناك طريقتان لتثبيت محطة اختبار Android:

التثبيت مع برنامج التثبيت

في نظام التشغيل Ubuntu 20.04+، يقوم برنامج التثبيت بتثبيت وتكوين جميع البرامج والموارد اللازمة لتشغيل Android Test Station.

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

  1. قم بتشغيل برنامج التثبيت:

    curl https://storage.googleapis.com/android-mtt.appspot.com/prod/install.sh | bash
    
  2. قم بتشغيل mtt version للتحقق من الإصدار المثبت من Android Test Station CLI.

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

قم بتثبيت عامل الميناء
  1. اتبع الإرشادات الخاصة بتثبيت Docker Community Edition (CE) على جهاز Linux الخاص بك.

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

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

تثبيت بايثون 3

تم التحقق من Android Test Station CLI مقابل إصدارات Python من 3.7 إلى 3.10.

بالنسبة إلى 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

احصل على محطة اختبار Android CLI

قم بتنزيل حزمة واجهة سطر الأوامر (CLI) هنا.

ابدأ تشغيل محطة اختبار Android

ابدأ تشغيل Android Test Station بالأمر التالي:

mtt start

في المرة الأولى التي يتم فيها تشغيل واجهة المستخدم، قد يستغرق ظهورها بضع دقائق. تعرض واجهة سطر الأوامر (CLI) عنوان URL للويب للوصول إلى واجهة المستخدم في المتصفح. بشكل افتراضي، عنوان URL للويب هو localhost:8000 . إذا لزم الأمر، يمكنك تغيير المنفذ الافتراضي عند بدء التشغيل باستخدام علامة --port .

في حالة توفر إصدار أحدث، يمكنك التحديث إلى الإصدار الحالي. يمكنك التحقق من ملاحظات الإصدار للحصول على أحدث الإصدارات.

للتحديث إلى الإصدار الحالي، قم بتشغيل:

mtt start --force_update

لإيقاف التطبيق، قم بتشغيل:

mtt stop

لعرض قائمة بالأوامر الأخرى، استخدم:

mtt --help

النسخ الاحتياطي واستعادة قاعدة البيانات

لعمل نسخة احتياطية من قاعدة بيانات 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"

معالج الاعداد

بعد تثبيت Android Test Station وتشغيله للمرة الأولى، يأخذك معالج الإعداد خلال بضع خطوات لمساعدتك على تخصيص الأداة بما يتناسب مع بيئتك. يمكن إعادة تكوين أي تغييرات تجريها هنا لاحقًا من خلال صفحة الإعدادات.

استعادة نسخة احتياطية للتكوين

إذا كان لديك ملف تكوين تم نسخه احتياطيًا من مضيف Android Test Station آخر، فيمكنك تحميل الملف لنسخ أي تكوينات تم تعديلها من ذلك المضيف عن طريق النقر فوق الزر "تحميل ملف" .

استعادة النسخة الاحتياطية للتكوين

الشكل 1. استعادة نسخة احتياطية للتكوين.

قم بتعيين حساب الخدمة الافتراضي

يمكنك تعيين حساب خدمة تستخدمه Android Test Station افتراضيًا عند الوصول إلى مواردك (على سبيل المثال، Google Cloud Storage، وGoogle Drive). لمصادقة حساب الخدمة الخاص بك، انقر فوق تحميل مفتاح حساب الخدمة وحدد ملف مفتاح JSON الخاص بحساب الخدمة الخاص بك.

تعيين حساب الخدمة

الشكل 2. إعداد حساب الخدمة.

عند مصادقة حساب الخدمة بنجاح، يظهر عنوان البريد الإلكتروني للحساب في الزاوية اليمنى العليا من الصفحة. لتغيير حساب الخدمة، انقر فوق اسم الحساب، وقم بإزالة الحساب الافتراضي الحالي، وقم بتحميل مفتاح حساب خدمة جديد.

تغيير حساب الخدمة

الشكل 3. تغيير حساب الخدمة.

استيراد مجموعات التكوين

مجموعة التكوين عبارة عن حزمة من التكوينات لتشغيل مجموعات الاختبار، بما في ذلك إجراءات الجهاز ذات الصلة وإنشاء القنوات. تتم استضافة مجموعات التكوين في مجموعة Google Cloud Storage (GCS) محددة. بعد مصادقة قناة بناء GCS باستخدام حساب Google الخاص بك، سترى قائمة بجميع مجموعات التكوين المتاحة لك.

حدد أي مجموعات تكوين ترغب في إضافتها إلى مضيف محطة الاختبار الخاصة بك وانقر فوق "استيراد المحدد" .

استيراد مجموعات التكوين

الشكل 4. استيراد مجموعة التكوين.

تضمين إعدادات Wi-Fi

تتطلب بعض اختبارات CTS أن يتصل جهازك بنقطة اتصال Wi-Fi. لتحديد شبكة Wi-Fi الخاصة بك، أدخل WiFi SSID و WiFi PSK الاختياري.

اعدادات الواي فاي

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

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

قم بتوصيل جهاز

يجب تمكين تصحيح أخطاء USB لاستخدام جهاز للاختبار. لتمكين تصحيح الأخطاء:

  1. اتبع الإرشادات الموجودة في تمكين خيارات المطور وتصحيح الأخطاء .

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

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

  3. قم بتوصيل الجهاز بالجهاز المضيف باستخدام USB.

    يظهر الجهاز في علامة التبويب أجهزة Android Test Station خلال دقيقة واحدة بعد تحديث واجهة الويب. يمكنك أيضًا عرض حالة الأجهزة في علامة التبويب هذه.

    قم بتوصيل جهاز

    الشكل 6. توصيل الجهاز.

حالات الجهاز المختلفة هي:

  • متوفر - الجهاز متصل وجاهز لإجراء الاختبار.
  • مخصص - الجهاز متصل ويقوم حاليًا بإجراء اختبار. يمكن لكل جهاز إجراء اختبار واحد فقط في كل مرة، لذلك يجب على الجهاز إنهاء اختباره الحالي قبل تشغيل اختبار جديد.

قم بإجراء اختبار

اختر اختبارًا

تأتي محطة اختبار Android مع مجموعة من تكوينات CTS المجمعة مسبقًا. لتشغيل أحد هذه الاختبارات، انتقل إلى علامة التبويب Test Suites وانقر فوق Run test للاختبار المطلوب.

حدد اختبارًا

الشكل 7. اختيار الاختبار.

لتحرير اختبارات جديدة أو إضافتها، راجع إضافة اختبارات .

تكوين تشغيل الاختبار

قم بتحرير المعلمات لاستخدامها في هذا التشغيل الاختباري المحدد. تتم تعبئة معظم المعلمات مسبقًا بالقيم المحددة في تكوين الاختبار المحدد.

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

تكوين تشغيل الاختبار

الشكل 8. تكوين التشغيل التجريبي.

معلمات التشغيل التجريبي هي:

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

    cts-suite -m ShortModuleName
    
  • أمر إعادة المحاولة - أمر إعادة محاولة مجموعة الاختبار. يمكنك إضافة وسائط سطر أوامر إضافية هنا. على سبيل المثال، لإعادة محاولة وحدة معينة فقط في CTS 8.1، استخدم:

    cts --retry 0 -m ShortModuleName
    

    قد تختلف وسيطات إعادة المحاولة عن تلك المتاحة مع الأمر الأولي، لذا تحقق من المعلمات المدعومة على الموقع الرسمي لمجموعة الاختبار المحددة.

  • التشغيل التجريبي السابق - إذا كنت ترغب في إعادة تشغيل التشغيل التجريبي السابق:

    • محلي - إذا تم بدء التشغيل على المضيف الحالي، فأدخل معرف تشغيل الاختبار الذي يظهر عند عرض تفاصيل تشغيل الاختبار.

      تشغيل الاختبار السابق المحلي

      الشكل 9. تشغيل الاختبار المحلي السابق.

    • عن بعد - إذا تم بدء التشغيل على مضيف مختلف، فقم بتحميل ملف نتائج الاختبار عن طريق تحديد Remote ، والنقر فوق تحميل ملف نتائج الاختبار ، وتحديد ملف من وحدة التخزين المحلية لديك.

      تشغيل الاختبار السابق عن بعد

      الشكل 10. تشغيل الاختبار السابق عن بعد.

حدد الأجهزة

انقر فوق مربعات الاختيار لتحديد الأجهزة التي سيتم تخصيصها لتشغيل مجموعة الاختبار. يجب أن يتغير عدد الأجزاء تلقائيًا ليتوافق مع عدد الأجهزة المحددة.

حدد الأجهزة

الشكل 11. اختيار الأجهزة.

لتحديد الأجهزة حسب سمات أخرى غير الأرقام التسلسلية للجهاز، يمكنك إدخال "مواصفات الجهاز" يدويًا. على سبيل المثال، لتحديد 3 أجهزة يكون اسم منتجها "bramble"، أدخل ما يلي:

product:bramble;product:bramble;product:bramble

السمات المدعومة هي:

  • build_id
  • Device_serial
  • نوع الجهاز
  • اسم المضيف
  • منتج
  • Product_variant
  • sim_state

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

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

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

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

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

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

أضف الإجراءات

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

تعيين موارد الاختبار

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

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

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

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

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

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

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

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

اختبار محدد الموارد - جوجل درايف

الشكل 16. اختبار محدد الموارد - Google Drive.

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

اختبار محدد الموارد - دعم نمط أحرف البدل

الشكل 17. اختبار محدد الموارد - دعم نمط أحرف البدل.

يمكنك أيضًا تحديد ملف من مساحة تخزين الملفات المحلية في Android Test Station. يمكنك تحميل الملفات إلى وحدة التخزين هذه، أو استخدام الملفات والأدلة المحلية مباشرة .

اختبار محدد الموارد - مخزن الملفات المحلي

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

إلغاء تشغيل الاختبار

الشكل 29. إلغاء التشغيل التجريبي.

نتائج التشغيل التجريبي

بعد انتهاء التشغيل التجريبي، يتم جمع النتائج وعرضها. يمكنك عرض تفاصيل إضافية بالنقر فوق السهم الخاص بكل تشغيل. انقر فوق عرض ملفات الإخراج لرؤية عناصر الاختبار المجمعة، مثل test_result.xml و test_result_failures.html .

نتائج تشغيل الاختبار

الشكل 30. نتائج تشغيل الاختبار.

يمكنك عرض سجلات المضيف المباشر وTradefed في علامة التبويب "السجلات".

سجلات تشغيل الاختبار

الشكل 31. علامة تبويب السجلات.

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

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

الشكل 32. علامة تبويب نتائج الاختبار.

يمكنك تنزيل الملفات المستخدمة كموارد اختبار بالنقر فوق فتح في علامة التبويب موارد الاختبار.

علامة التبويب موارد الاختبار

الشكل 33. علامة تبويب موارد الاختبار.

لرؤية تفاصيل التشغيل التجريبي، مثل create_time ، انتقل إلى علامة التبويب "التكوين".

علامة التبويب تكوين الاختبار

الشكل 34. علامة التبويب "التكوين".

الخيارات المتقدمة

إدارة ملفات التكوين

تستخدم محطة اختبار Android ملفات التكوين المكتوبة بلغة 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

عندما تقوم بإعداد مثيل Android Test Station الخاص بك، يمكنك مشاركة التكوين الخاص بك مع مستخدمين آخرين عن طريق تصديره كملف. للقيام بذلك، انتقل إلى صفحة الإعدادات وانقر على تصدير في الجزء العلوي الأيمن.

إدارة ملفات التكوين

الشكل 35. إدارة ملفات التكوين.

بعد تنزيل ملف التكوين الخاص بك، قم بمشاركة الملف مع مستخدمين آخرين. يمكنهم إضافة ملف التكوين إلى مثيل Android Test Station الخاص بهم عن طريق النقر فوق "استيراد" وتحديد ملف التكوين.

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

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

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

الشكل 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 في Android Test Station. انسخ ملفًا أو انقله إلى هذا الدليل، ثم يمكنك تحديده من علامة التبويب "ملف محلي" عند جدولة تشغيل اختباري.

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 تكوينان افتراضيان لأرشفة نتائج التشغيل الاختباري وحذف الملفات المؤقتة. يشرح هذا الدليل كيفية تخصيص السياسات والتكوينات لإدارة ملفاتك بفعالية.

سياسات

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

نوع العملية حدود
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. إعادة ضبط إعدادات منظف الملفات.

يدعم

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

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