اختبار أجهزة تكنولوجيا المعلومات القابلة للطي

اعتبارًا من Android 13، تتضمّن أدوات اختبار التفاعل بين الأجهزة والكاميرا (ITS) إمكانية اختبار الأجهزة القابلة للطي. تحتوي الأجهزة القابلة للطي على كاميرات تكون متاحة أو غير متاحة حسب ما إذا كان الجهاز مطويًا أو مفتوحًا.

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

اختبار الكاميرا الأمامية والخلفية

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

استنادًا إلى حالة الجهاز، تصفّح تقنية ITS في الكاميرا أجهزة الكاميرات غير المتاحة ولا تظهر أجهزة الكاميرات في قائمة مجموعات الكاميرات والمشاهد.

يصف الجدول التالي سلوك اختبار ITS للكاميرا لكل اتجاه للكاميرا.

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

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

يصف هذا القسم خطوات اختبار الكاميرات للأجهزة القابلة للطي.

إعداد الجهاز

للحصول على معلومات عن الإعداد، يُرجى الاطّلاع على مقالة الإعداد.

منح إذن الوصول إلى واجهة برمجة التطبيقات الاختبارية

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

لمنح الإذن بالوصول، شغِّل الأمر ADB التالي. يجب تنفيذ هذا الأمر مرة واحدة لجهاز واحد. في حال إعادة تثبيت أداة CTS Verifier باستخدام إصدار مختلف، يجب تنفيذ الأمر مرة أخرى.

adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier

ملف الإعداد

لتحديد أنّ الجهاز قابل للطي، أضِف المَعلمة foldable_device في كل من tablet وsensor_fusion في ملف config.yml. يستخدم نظام ITS للكاميرا هذه المَعلمة لتحديد مجموعات camera_id و المشهد للحالات المُطوية والمُرفوعة.

في ما يلي مثال على ملف config.yml لجهاز قابل للطي.

TestBeds:
  - Name: TABLET_SCENES
    # Test configuration for scenes[0:4, 6]
    Controllers:
        AndroidDevice:
          - serial: 8A9X0NS5Z
            label: dut
          - serial: 5B16001229
            label: tablet

    TestParams:
      brightness: 192
      chart_distance: 22.0
      debug_mode: "False"     # "quotes" needed
      chart_loc_arg: ""
      camera: 0
      scene: scene2_a
  lighting_cntl: arduino    # can be "arduino" or "None"
  lighting_ch: 1
  foldable_device: "True"     # "False" for non-foldable DUTs

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

لإجراء اختبارات ITS على جهاز قابل للطي، شغِّل الأمر run_all_tests.py. لمعرفة التفاصيل، يُرجى الاطّلاع على مقالة استدعاء الاختبارات.

عند تشغيل اختبارات أمان الكاميرا على جهاز قابل للطي، يتم اختبار الكاميرا الأمامية الأساسية في كلتا الحالتَين، أي عندما يكون الجهاز مطويًا ومسطّحًا. في حال طيّ الجهاز، يتم عرض النتائج ضمن الخيار camera1_SCENE_NAME_folded في تطبيق CTS Verifier. استنادًا إلى حالة الجهاز، لا تتوفّر بعض معرّفات كاميرا أمامية ماديّة ولا يتم اختبارها. يجب اختبار الكاميرا الخلفية في حالة واحدة فقط، ويُفضّل أن تكون الحالة مطوية ، ولا تحتوي نتائج الكاميرا الخلفية على اللاحقة _folded.

لضمان تنفيذ المشاهد المُعدّة للأجهزة القابلة للطي عندما يكون الجهاز مطويًا والتحقّق من حالة جهاز DUT القابل للطي، شغِّل الأمر التالي.

adb shell cmd device_state state

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

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

تضيف تقنية ITS للكاميرا أيضًا اللاحقة folded إلى الدليل tmp الذي تم إنشاؤه لمشاهد الحالة المطوية.

نماذج الطلبات

في ما يلي أمثلة على الأوامر الخاصة بتنفيذ الاختبار على الأجهزة القابلة للطي.

الأمر الوصف
python tools/run_all_tests.py تشغيل كل المشاهد
python tools/run_all_tests.py scenes=scene0 تشغيل المشهد 0 إذا كان الجهاز مطويًا وكان المستخدم يختبر الكاميرا الأمامية الأساسية، يحدِّد النص البرمجي حالة الجهاز ويُعدِّل اللاحقة _folded إلى اسم المشهد. ولا يحتاج المستخدمون إلى إضافة اللاحقة لتشغيل المشاهد المجمّعة.
python tests/scene0/ -c config.yml يُجري اختبارًا محدّدًا.