تشغيل اختبارات الأجهزة المتعددة في أداة التحقّق من مجموعة أدوات اختبار التوافق (CTS Verifier)

تحتوي هذه الصفحة على تعليمات حول استخدام اختبارات Better Together CTS Verifier (CTS-V) لنظام التشغيل Android 16 QPR2 أو الإصدارات الأحدث.

إعداد اختبارات على أجهزة متعددة من جانب المضيف

يوضّح هذا القسم كيفية إعداد اختبارات على أجهزة متعددة.

  1. تأكَّد من أنّ جهاز الكمبيوتر المكتبي يستوفي متطلبات نظام التشغيل لأداة CTS.
  2. اتّبِع الخطوتَين 2 و5 من مقالة تثبيت برامج سطح المكتب لتثبيت adb وAAPT2 وPython والتأكّد من تثبيتها بشكل صحيح على جهاز الكمبيوتر.

    • يجب أن يكون إصدار Python هو 3.11 أو إصدار أحدث. لتحديد إصدار Python، شغِّل python3 --version. إذا كان الإصدار أقل من 3.11، ثبِّت أحدث إصدار رسمي من Python. لمزيد من المعلومات، يُرجى الاطّلاع على قسم "عمليات التنزيل" في python.org.
    • تتطلّب بعض الاختبارات أن يتضمّن المضيف وحدة Python venv. في أنظمة Debian وUbuntu، قد لا تكون هذه الوحدة مثبَّتة تلقائيًا. لتحديد ما إذا كان إصدار Python يتضمّن الوحدة venv، شغِّل python3 -m venv venv. إذا فشل هذا الأمر، ستظهر رسالة خطأ. اتّبِع التعليمات لتثبيت حزمة python3.x-venv.
  3. جهِّز جهازَين متطابقَين قيد الاختبار (DUT)، مع إعداد CTS-V على كل منهما.

  4. انتقِل إلى قسم الإعداد لنوع الاختبار:

    إذا لم يكن الاختبار في هذه القائمة، انتقِل إلى إعداد اختبارات عادية على جهازَين.

إعداد اختبارات NFC

تستخدم اختبارات NFC جهازًا واحدًا قيد الاختبار وشريحة NFC واحدة من طراز PN532.

لإعداد اختبارات NFC، اتّبِع الخطوات التالية:

  1. اشترِ شريحة PN532 NFC. ننصح باستخدام All-In-One PN532.
  2. على الجهاز قيد الاختبار، انتقِل إلى تطبيق الإعدادات.

  3. فعِّل ميزة الاتصال القصير المدى (NFC).

  4. ضَع شريحة NFC في الموضع التالي:

    • بالنسبة إلى الهواتف، ضَع قارئ NFC الخاص بالجهاز قيد الاختبار كما هو موضّح في الشكل 1:

      موضع شريحة NFC

      الشكل 1. تحديد موضع شريحة NFC

    • بالنسبة إلى أنواع الأجهزة الأخرى، ضَع الشريحة بجانب هوائي الاتصال بالحقل القريب (NFC) للجهاز.

  5. وصِّل شريحة PN532 NFC بمحطة عمل الاختبار باستخدام كابل USB.

اختياري: إعداد اختبارات اتصال نقطة وصول Wi-Fi

تختبر اختبارات الاتصال بنقطة وصول Wi-Fi (AP) (CtsWifiConnectionTests) إمكانية الاتصال بين الجهاز قيد الاختبار ونقطة الوصول. ننصحك بشدة بتنفيذ هذه الاختبارات، ولكنها غير مطلوبة في حزمة اختبار التوافق (CTS) لنظام التشغيل Android 16 16 QPR2.

تتطلّب هذه الاختبارات جهازًا قيد الاختبار ونقطة وصول OpenWrt Banana Pi R3.

لإعداد اختبارات اتصال نقطة وصول Wi-Fi، اتّبِع الخطوات التالية:

  1. اشترِ نقطة وصول Banana Pi R3 والملحقات المُدرَجة في هذا الجدول:

    اسم الكمية
    لوحة BPi-R3، مشابهة للّوحة Banana Pi BPI-R3 Router Board التي تتوافق مع تصميم شريحة MediaTek MT7986، وتتيح استخدام شبكة Wi-Fi 6 وذاكرة وصول عشوائي (RAM) بسعة 2 غيغابايت وذاكرة فلاش eMMC بسعة 8 غيغابايت 1
    علبة ألومنيوم BPi-R3، مشابهة لعلبة BPI-R3 Iron 1
    مشتّت حراري من الألومنيوم BPi-R3 (مروحة تبريد)، مشابه للمشتّت الحراري من الألومنيوم BPI-R3 مع مروحة 1
    هوائي بتردد 2 و5 غيغاهرتز مع كابل، يشبه هوائي 5DB في متجر BPI 8
    محوّل الطاقة، مشابه لمصدر الطاقة بتيار مستمر 12 فولت/2 أمبير 1

    لإجراء عملية الشراء، يُرجى الاطّلاع على قسم سهولة الشراء في صفحة Banana Pi BPI-R3.

  2. اضبط إعدادات نقطة الوصول. للحصول على معلومات حول إعداد نقطة الوصول، يُرجى الاطّلاع على إعداد نقطة وصول Banana Pi BPI-R3.

  3. اختياري: إذا لم يكن لديك صندوق حماية، ننصحك باستخدام صندوق الحماية JTP-SR101. يمكنك شراء هذا الصندوق باستخدام المعلومات التالية:

    Dong Guan Zheng Sheng Electronics Technology Co., LTD
    Bohui Industrial Park, Panlong Road, Liaobu Town, Dongguan City, Guangdong Province, China
    Contact: Forest Pan
    Email: forest.pan@jtpmak.cn
    Phone (China): +86 18676993556

  4. وصِّل الجهاز قيد الاختبار ونقطة الوصول بالجهاز المضيف وضعهما في صندوق حماية من الترددات اللاسلكية. يجب أن تكون المسافة بين الجهاز قيد الاختبار ونقطة الوصول 10 سم على الأقل. يوضّح الشكل 2 هذا الإعداد:

    الجهاز قيد الاختبار ونقطة الوصول في صندوق الدرع

    الشكل 2. جهاز الاختبار ونقطة الوصول في صندوق الحماية

  5. استخدِم بروتوكول SSH للتأكّد من إمكانية الوصول إلى نقطة الوصول من المضيف.

إعداد اختبارات عادية على جهازَين

بالنسبة إلى عملية الإعداد التلقائية لجهازَين:

  1. ضَع جهازَي Android متطابقَين على بُعد 20 سم تقريبًا.
  2. لإعداد بيئة نظيفة، ضَع كلا الجهازَين في صندوق محمي.

  3. اختياري: إعداد أداة تتبُّع OTA لتصحيح أخطاء Wi-Fi

إعداد اختبارات إدارة حقوق الرقمية (DRM)

تتضمّن حالة الاختبار test_permissions_sync() سلوكًا مختلفًا حسب نوع الإصدار للأجهزة التي يتم تنفيذ الاختبار عليها. من الضروري أن يختبر المصنّعون الأصليون للأجهزة كلاً من الإصدارات التي يمكن تصحيح أخطائها (userdebug أو eng) والإصدارات التي لا يمكن تصحيح أخطائها (user)، وأن تجتاز الاختبارات كلا النوعين.

الإعفاء

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

يجب أن تجتاز الاختبارات الإصدارات التي يمكن تصحيح أخطائها بدون استثناء.

المتطلبات الأساسية للاختبار على الإصدارات غير القابلة لتصحيح الأخطاء

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

تستخدم القناة الآمنة إطار عمل AVF (AttestationVerificationFramework) للتحقّق من موثوقية الأجهزة. تحتوي شهادات الإثبات التي يصدرها الطرفان على عدة معلومات عن كل منهما لضمان عدم حدوث أي تغيير غير مصرّح به في نظامهما. تتحقّق ميزة "التحقّق من صحة الجهاز" من الحالات التالية أثناء عملية التحقّق:

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

إجراء اختبارات على أجهزة متعددة من جهة المضيف (الإصدار 16 من AOSP أو إصدار أحدث)

يتيح الإصدار 16 من CTS Verifier إجراء اختبارات على أجهزة متعددة من جهة المضيف. يمكن تنفيذ هذه الاختبارات باستخدام نصوص برمجية مبرمَجة على المضيف، بدلاً من عملية الاختبار اليدوي على الجهاز. بعد اكتمال كل اختبار، يتم تلقائيًا تحميل النتائج إلى الجهاز قيد الاختبار وعرضها في تطبيق CTS Verifier.

يوضّح هذا القسم كيفية إجراء اختبارات الأجهزة المتعدّدة من جهة المضيف.

إجراء اختبارات على أجهزة متعددة

لإجراء اختبار على أجهزة متعددة، اتّبِع الخطوات التالية:

  1. على محطة العمل الاختبارية، شغِّل وحدة تحكّم cts-v-host من الدليل الذي تم فيه فك ضغط حزمة CTS-V zip:

    ./android-cts-verifier/android-cts-v-host/tools/cts-v-host-tradefed
    
  2. من داخل تطبيق CTS Verifier على الجهاز قيد الاختبار، انقر على الاختبارات من جهة المضيف. يوضّح الشكل 3 الاختبارات التي يتم إجراؤها على الجهاز المضيف في تطبيق CTS Verifier:

    اختبارات الأجهزة المتعدّدة من جهة المضيف في تطبيق CTS Verifier

    الشكل 3. اختبارات الأجهزة المتعدّدة من جهة المضيف في تطبيق CTS Verifier

    يتم عرض قائمة بوحدات اختبار متعددة الأجهزة من جهة المضيف.

  3. حدِّد اسم الوحدة الاختبارية التي تريد تنفيذها. على سبيل المثال، يتم إدراج وحدة CompanionDeviceManager على النحو التالي: CtsCompanionDeviceManagerMultiDeviceTestCases.

  4. في وحدة تحكّم cts-v-host، نفِّذ الأمر التالي:

    run cts-v-host -m test_module_name
    

    مثلاً:

    run cts-v-host -m CtsCompanionDeviceManagerMultiDeviceTestCases
    

    بعد أن تنتهي وحدة تحكّم xTS من تنفيذ الاختبارات، تظهر النتائج في تطبيق CTS Verifier. تشير الاختبارات التي تم وضع علامة خضراء بجانبها إلى أنّها اجتازت الاختبار. تعذّر اجتياز الاختبارات المميّزة باللون الأحمر. تعرض "الشكل 4" نتائج نموذجية لاختبارات CtsCompanionDeviceManager:

    نتائج اختبار الأجهزة المتعددة من جانب المضيف في تطبيق CTS Verifier

    الشكل 4. نتائج اختبار الأجهزة المتعدّدة من جهة المضيف في تطبيق CTS Verifier

اختياري: إجراء اختبارات اتصال بنقطة وصول Wi-Fi

اتّبِع الخطوات التالية لإجراء اختبارات اتصال نقطة وصول Wi-Fi:

  1. عدِّل ملف إعداد Testbed (WifiConnectionTestbed.yaml). يوجد هذا الملف في الدليل الذي تم فيه فك ضغط CTS-Verifier:

    ./android-cts-verifier/android-cts-v-host/testcases/CtsWifiConnectionTests/x86_64/connection/WifiConnectionTestbed.yaml
    
  2. غيِّر قيمة الحقل hostname إلى عنوان IP الخاص بنقطة الوصول، استنادًا إلى إعدادات SSH المحلية. لتحديد عنوان IP، يُرجى الاطّلاع على العثور على عنوان IP لنقطة الوصول.

    يوضّح المثال التالي موضع الحقل hostname في الملف WifiConnectionTestbed.yaml:

    TestBeds:
    - Name: WifiConnectionTestbed
      Controllers:
        # Specify settings for the AP.
        OpenWrtDevice:
        - hostname: AP-IP
          skip_init_reboot: True
    
  3. في وحدة تحكّم cts-v-host، نفِّذ الأمر التالي:

    run everything -m CtsWifiConnectionTests
    

تحديد المشاكل في الاختبارات على أجهزة متعددة وحلّها

يقدّم هذا القسم مساعدة في تحديد المشاكل المحتملة وحلّها.

حلّ مشكلة عدم تلقّي أي ردّ على GetFirmwareVersion أثناء اختبارات NFC

إذا تلقّيت الرسالة verify_firmware_version RuntimeError: No response for GetFirmwareVersion أثناء إجراء اختبارات الأجهزة المتعددة، يعني ذلك أنّه لا يمكن للاختبارات الوصول إلى لوحة PN532 NFC.

لحلّ هذه المشكلة، حدِّد مسار الرقم التسلسلي الذي تستخدمه لوحة PN532 NFC على المضيف، مثل dev/ttyUSB1، ثم حدِّده يدويًا باستخدام الوسيطة --module-arg في وحدة التحكّم:

run cts-v-host -m CtsNfcHceMultiDeviceTestCases --module-arg CtsNfcHceMultiDeviceTestCases:pn532_serial_path:/dev/ttyUSB1

حلّ رسالة الخطأ "تعذّر إجراء المعاملة" أثناء اختبارات الاتصال القصير المدى (NFC)

إذا تلقّيت الرسالة Transaction failed, check device logs for more information. في جميع حالات اختبار الاتصال القصير المدى (NFC)، من المحتمل أن يكون ذلك بسبب عدم قدرة شريحة الاتصال القصير المدى (NFC) في الجهاز الخاضع للاختبار على رصد PN532.

إذا كانت لديك أجهزة متعددة متصلة بالجهاز المضيف، ولم يكن بعضها مزوّدًا بشريحة PN532 في الأعلى، قد يكون تم اختيار الجهاز الخاطئ. لمزيد من المعلومات، يُرجى الاطّلاع على إعداد اختبارات NFC.

لحلّ هذه المشكلة، اتّبِع أحد الإجراءَين التاليَين:

  • اضبط الرقم التسلسلي الصحيح للجهاز الخاضع للاختبار في أمر الاختبار على الجهاز المضيف باستخدام العلامة -s.

  • افصِل جميع الأجهزة غير جهاز الاختبار عن الجهاز المضيف.

تم تجاهل حالة اختبار CDM test_permissions_sync

إذا كان الاختبار يتم إجراؤه على أجهزة لا يمكن تصحيح أخطائها، اطّلِع على ما إذا كنت معفيًا. في حال عدم توفّرها، تأكَّد من أنّ كلا الجهازين يستوفيان المتطلبات الأساسية.