إعداد CTS

لتشغيل CTS ، قم أولاً بإعداد بيئتك المادية وجهاز سطح المكتب وجهاز Android الذي تستخدمه للاختبار.

بيئة فيزيائية

منارات بلوتوث LE

إذا كان الجهاز قيد الاختبار (DUT) يدعم Bluetooth LE ، فضع ما لا يقل عن ثلاثة منارات Bluetooth LE في نطاق 5 أمتار من DUT لاختبار فحص Bluetooth LE. لا تحتاج هذه الإشارات إلى التهيئة أو إصدار أي شيء محدد ، ويمكن أن تكون من أي نوع ، بما في ذلك iBeacon أو Eddystone أو حتى الأجهزة التي تحاكي إشارات BLE.

الكاميرات

عند تشغيل الكاميرا CTS ، استخدم ظروف الإضاءة العادية مع مخطط نموذج اختبار (مثل نمط رقعة الشطرنج). ضع مخطط نموذج الاختبار وفقًا لمسافة التركيز البؤري الدنيا لـ DUT للتأكد من أنها ليست قريبة جدًا من العدسة.

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

إذا كانت DUT تدعم الكاميرات الخارجية ، مثل كاميرات الويب USB ، فقم بتوصيل كاميرا خارجية عند تشغيل CTS. خلاف ذلك ، تفشل اختبارات CTS.

GPS / GNSS

إذا كانت DUT تدعم ميزة نظام تحديد المواقع العالمي / نظام الملاحة العالمي عبر الأقمار الصناعية (GPS / GNSS) ، فقم بتوفير إشارة GPS / GNSS إلى DUT عند مستوى إشارة مناسب للاستقبال وحساب موقع GPS. يجب أن يكون جزء GPS متوافقًا مع ICD-GPS-200C. بخلاف ذلك ، يمكن أن تكون إشارة GPS / GNSS من أي نوع ، بما في ذلك جهاز محاكاة الأقمار الصناعية أو مكرر GPS / GNSS للإشارات الخارجية ، أو يمكنك وضع DUT بالقرب من النافذة بحيث يمكنها استقبال إشارة GPS / GNSS كافية مباشرة.

شبكة Wi-Fi و IPv6

تتطلب اختبارات CTS شبكة Wi-Fi تدعم IPv6 ، ولديها اتصال بالإنترنت ، ويمكنها التعامل مع DUT كعميل منعزل. يشير العميل المعزول إلى تكوين حيث لا يمكن لـ DUT رؤية رسائل البث / الشبكات المتعددة على تلك الشبكة الفرعية. يحدث هذا مع تكوين Wi-Fi AP أو عن طريق تشغيل DUT على شبكة فرعية معزولة دون توصيل أجهزة أخرى.

إذا لم يكن لديك وصول إلى شبكة IPv6 أصلية أو شبكة مشغل IPv6 أو VPN لاجتياز بعض الاختبارات اعتمادًا على IPv6 ، فيمكنك استخدام نقطة وصول Wi-Fi ونفق IPv6. انظر ويكيبيديا قائمة الوسطاء نفق الإصدار IPv6 .

Wi-Fi RTT

يشمل الروبوت API واي فاي RTT ل خدمة الواي فاي الوقت ذهابا وإيابا (RTT) القدرة. يسمح هذا للأجهزة بقياس المسافة بينها وبين نقاط الوصول بدقة تتراوح من متر إلى مترين ، مما يزيد بشكل كبير من دقة الموقع الداخلي. جهازين أوصى دعم واي فاي RTT هي جوجل واي فاي و نقطة وصول fitlet2 Compulab في (مجموعة لعرض النطاق الترددي 40 ميغاهرتز في 5 غيغاهرتز).

يجب تشغيل نقاط الوصول ، لكنها لا تتطلب اتصالاً بالشبكة. لا يلزم أن تكون نقاط الوصول بجوار جهاز الاختبار ولكن يوصى بأن تكون في نطاق 40 قدمًا من DUT. عادة ما تكون نقطة الوصول واحدة كافية.

إعداد جهاز سطح المكتب

ADB و AAPT

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

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

تأكد من أن adb و aapt هي في مسار النظام الخاص بك. يفترض الأمر التالي أنك فتحت أرشيف الحزمة في الدليل الرئيسي الخاص بك:

export PATH=$PATH:$HOME/android-sdk-linux/build-tools/version

مجموعة تطوير جافا لأوبونتو

تثبيت الإصدار المناسب من جافا تطوير Kit (JDK) .

  • لنظام Android 11 ، قم بتثبيت OpenJDK11.
  • بالنسبة إلى Android 9 و Android 10 ، قم بتثبيت OpenJDK9.
  • لنظام التشغيل Android 7.0 و 7.1 و 8.0 و 8.1 ، قم بتثبيت OpenJDK8.

لمزيد من التفاصيل، راجع متطلبات JDK .

ملفات CTS

تحميل وفتح حزم CTS من اختبار توافق جناح التحميل مطابقة الإصدار الروبوت الأجهزة الخاصة بك "وجميع واجهات ثنائي التطبيق (أبيس) أن الأجهزة الخاصة بك تدعم.

تحميل وفتح أحدث نسخة من ملفات الوسائط CTS .

كشف الجهاز

اتبع خطوة ل إعداد النظام الخاص بك للكشف عن الجهاز .

حد الذاكرة

قد ترغب في زيادة الحد الأقصى الذاكرة المتوفرة أثناء اختبار التشغيل في tradfed CTS- النصي. الرجوع إلى المثال CL حصول على مزيد من المعلومات.

إعداد جهاز Android

يبني المستخدم

يُعرَّف الجهاز المتوافق بأنه جهاز به بنية مُوقعة من المستخدم / مفتاح التحرير. الجهاز يجب أن يشغل صورة النظام على أساس من المعروف أن متوافق بناء المستخدم (الروبوت 4.0 أو أعلى) من Codenames، الكلمات، والأرقام البناء .

أول خاصية بناء على مستوى API

تعتمد بعض متطلبات CTS على التصميم الذي تم شحن الجهاز به في الأصل. على سبيل المثال ، قد يتم استبعاد الأجهزة التي تم شحنها في الأصل مع إصدارات سابقة من متطلبات النظام التي تنطبق على الأجهزة التي يتم شحنها مع إصدارات لاحقة.

لجعل هذه المعلومات متاحة للCTS، الشركات المصنعة للأجهزة قد حددت لمرة وبناء الممتلكات ro.product.first_api_level . قيمة هذه الخاصية هي أول مستوى لواجهة برمجة التطبيقات تم إطلاق الجهاز تجاريًا به.

يمكن لمصنعي الأجهزة إعادة استخدام التطبيق الأساسي المشترك لإطلاق منتج جديد كترقية لمنتج موجود في نفس مجموعة الأجهزة. يمكن الشركات المصنعة للأجهزة تعيين اختياريا مستوى API من المنتجات الموجودة ل ro.product.first_api_level ، بحيث يتم تطبيق شروط الترقية لCTS والتريبل / VTS.

يمكن الشركات المصنعة للأجهزة إضافة PRODUCT_PROPERTY_OVERRIDES داخل هم device.mk الملف لتعيين هذه الخاصية، كما هو موضح في المثال التالي:

#ro.product.first_api_level indicates the first api level that the device has
been commercially launched on.
PRODUCT_PROPERTY_OVERRIDES +=\
ro.product.first_api_level=21

أول مستوى لواجهة برمجة التطبيقات لنظام Android 9 أو أعلى

لأجهزة أطلقت مع الروبوت 9 أو أعلى، تعيين ro.product.first_api_level الخاصية إلى قيمة صالحة من Codenames، الكلمات، والأرقام البناء .

أول مستوى لواجهة برمجة التطبيقات لنظام Android 8.x أو أقل

لأجهزة أطلق على الروبوت 8.x من أو أقل، ضبطه (إزالة) ro.product.first_api_level الملكية للبناء الأول من هذا المنتج. ليبني كل اللاحقة، مجموعة ro.product.first_api_level إلى قيمة مستوى API الصحيحة. يتيح ذلك للخاصية تحديد منتج جديد بشكل صحيح والاحتفاظ بالمعلومات حول مستوى واجهة برمجة التطبيقات الأول للمنتج. إذا كان العلم هو ضبطه، الروبوت يعين Build.VERSION.SDK_INT إلى ro.product.first_api_level .

حزم الرقائق CTS

الروبوت 10 أو أعلى يتضمن شكل حزمة تسمى APEX . لتشغيل اختبارات CTS ل API إدارة APEX (مثل تحديث إلى إصدار جديد أو التقارير والحصان نشط) يجب أن التثبيت المسبق ل CtsShimApex الحزمة على /system التقسيم.

وAPEX الرقائق اختبار التحقق من صحة يتحقق تنفيذ CtsShimApex .

ro.apex.updatable متطلبات

  • إذا كان ro.apex.updatable يتم تعيين الخاصية إلى true ، CtsShimApex مطلوب لجميع الأجهزة التي تدعم إدارة الحزم APEX.

  • إذا كان ro.apex.updatable الملكية مفقود أو لم يتم تعيين، CtsShimApex ليس مطلوبا أن يكون مثبتا مسبقا على الجهاز.

وAPEX الرقائق اختبار التحقق من صحة يتحقق تنفيذ CtsShimApex .

CtsShim preinstalls وتحميلها مسبقا

بدءا من الروبوت 11، CtsShimApex يحتوي على اثنين من التطبيقات قبل البناء (بني من مصدر بناء )، والتي لا تحتوي على أي رمز باستثناء البيان. تستخدم CTS هذه التطبيقات لاختبار الامتيازات والأذونات.

إذا كان الجهاز لا يدعم إدارة الحزم APEX (وهذا هو، ro.apex.updatable وممتلكات مفقودة أو لم يتم تعيين)، أو إذا كان الجهاز يقوم بتشغيل إصدار 10 أو أقل من ذلك، يجب أن يتم بشكل مسبق اثنين من التطبيقات قبل البناء في بشكل منفصل.

إصدار الجهاز التثبيت المسبق
(إذا كان APEX مدعومًا)
التحميل المسبق
ذراع إلى x86 ذراع إلى x86
أندرويد 12 android12- الافراج عن الذراع
تحت /system/apex/com.android.apex.cts.shim.apex
android12-x86-release
تحت /system/apex/com.android.apex.cts.shim.apex
android12-arm-CtsShim.apk
تحت /system/app/CtsShimPrebuilt.apk

android12-arm-CtsShimPriv.apk
تحت /system/priv-app/CtsShimPrivPrebuilt.apk

android12-x86-CtsShim.apk
تحت /system/app/CtsShimPrebuilt.apk

android12-x86-CtsShimPriv.apk
تحت /system/priv-app/CtsShimPrivPrebuilt.apk

أندرويد 11 android11- الافراج عن الذراع
تحت /system/apex/com.android.apex.cts.shim.apex
android11-x86-release
تحت /system/apex/com.android.apex.cts.shim.apex
android11-arm-CtsShim.apk
تحت /system/app/CtsShimPrebuilt.apk

android11-arm-CtsShimPriv.apk
تحت /system/priv-app/CtsShimPrivPrebuilt.apk

android11-x86-CtsShim.apk
تحت /system/app/CtsShimPrebuilt.apk

android11-x86-CtsShimPriv.apk
تحت /system/priv-app/CtsShimPrivPrebuilt.apk

أندرويد 10 android10 الإصدار
تحت /system/apex/com.android.apex.cts.shim.apex
android10-arm-CtsShim.apk
تحت /system/app/CtsShimPrebuilt.apk

android10-arm-CtsShimPriv.apk
تحت /system/priv-app/CtsShimPrivPrebuilt.apk

android10-x86-CtsShim.apk
تحت /system/app/CtsShimPrebuilt.apk

android10-x86-CtsShimPriv.apk
تحت /system/priv-app/CtsShimPrivPrebuilt.apk

Android 9 و O و O-MR1 غير متاح غير متاح arm-CtsShim.apk
تحت /system/app/CtsShimPrebuilt.apk

arm-CtsShimPriv.apk
تحت /system/priv-app/CtsShimPrivPrebuilt.apk

x86-CtsShim.apk
تحت /system/app/CtsShimPrebuilt.apk

x86-CtsShimPriv.apk
تحت /system/priv-app/CtsShimPrivPrebuilt.apk

لاجتياز الاختبارات ، قم بتحميل التطبيقات مسبقًا في الدلائل المناسبة على صورة النظام دون إعادة توقيع التطبيقات.

نموذج بريمج

قدم Android 9 واجهات برمجة تطبيقات Open Mobile. بالنسبة للأجهزة التي تبلغ عن أكثر من عنصر آمن ، تضيف CTS حالات اختبار للتحقق من صحة سلوك Open Mobile APIs. تتطلب حالات الاختبار هذه التثبيت لمرة واحدة لعينة صغيرة في العنصر الآمن المضمن (eSE) من DUT أو في بطاقة SIM المستخدمة من قبل DUT. على الصغير العينة جنوب شرقي و عينة الصغير SIM يمكن العثور عليها في AOSP.

انظر CTS اختبار لتأمين عنصر للحصول على معلومات أكثر تفصيلا حول المتحرك المفتوح حالات الاختبار API وحالات الاختبار التحكم في الوصول.

متطلبات التخزين

وتؤكد وسائل الإعلام CTS الاختبارات تتطلب مقاطع الفيديو لتكون على تخزين خارجي ( /sdcard ). معظم لقطات هي من بيغ باك الأرنب ، الذي حقوق الطبع والنشر من قبل مؤسسة خلاط تحت رخصة المشاع المبدع 3.0 .

تعتمد المساحة المطلوبة على الحد الأقصى لدقة تشغيل الفيديو التي يدعمها الجهاز. انظر القسم 5 في وثيقة تعريف الروبوت التوافق لإصدار النظام الأساسي للقرارات المطلوبة.

فيما يلي متطلبات التخزين حسب الحد الأقصى لدقة تشغيل الفيديو:

  • 480 × 360: 98 ميجا بايت
  • 720 × 480: 193 ميجا بايت
  • 1280 × 720: 606 ميجا بايت
  • 1920 × 1080: 1863 ميجابايت

الشاشة والتخزين

  • يحتاج أي جهاز لا يحتوي على شاشة مضمنة إلى توصيله بشاشة.
  • إذا كان الجهاز يحتوي على فتحة لبطاقة الذاكرة ، فقم بتوصيل بطاقة SD فارغة. استخدم بطاقة SD التي تدعم ناقل السرعة الفائقة (UHS) بسعة SDHC أو SDXC أو بطاقة ذات سرعة لا تقل عن 10 أو أعلى لضمان قدرتها على اجتياز CTS.

  • إذا كان الجهاز يحتوي على فتحات بطاقة SIM ، فقم بتوصيل بطاقة SIM نشطة في كل فتحة. إذا كان الجهاز يدعم رسائل SMS ، فيجب أن يكون لكل بطاقة SIM حقل رقم خاص بها مملوء. بالنسبة للأجهزة التي تعمل بنظام Android 12 أو أعلى ، يجب أن تدعم جميع بطاقات SIM تخزين أرقام الاتصال المختصرة (ADN). GSM وUSIM البطاقات مع الاتصالات ملف مخصص (DF اتصالات) تلبية هذا المطلب.

المطور UICC

لتشغيل CTS الاختبارات API الناقل، يحتاج الجهاز إلى استخدام SIM مع امتيازات الناقل CTS تلبي المتطلبات المحددة في إعداد UICC .

تكوين جهاز Android

  1. إعادة تعيين بيانات المصنع الجهاز: إعدادات> إعادة تعيين النسخ الاحتياطي و> إعادة تعيين بيانات المصنع.

  2. تعيين لغة الجهاز الخاص بك إلى الإنكليزية (الولايات المتحدة): الإعدادات> اللغة والإدخال> اللغة.

  3. إذا كان يدعم جهاز تخصيص الخطوط الافتراضية، تعيين الافتراضي sans-serif عائلة الخط إلى Roboto (الافتراضي sans-serif عائلة الخط المستخدم في بناء AOSP).

  4. بدوره على إعداد موقع إذا كان هناك GPS أو Wi-Fi / ميزة الشبكة الخلوية على الجهاز: إعدادات> الموقع> تشغيل.

  5. الاتصال بشبكة Wi-Fi التي تدعم IPv6، ويمكن علاج DUT كعميل معزولة (انظر البيئة الفيزيائية أعلاه)، ولديها اتصال بالإنترنت: إعدادات> واي فاي.

  6. تأكد من أن يتم تعيين أي نمط القفل أو كلمة المرور على الجهاز: إعدادات> الأمان> قفل الشاشة> لا شيء.

  7. تمكين تصحيح USB على جهازك: إعدادات> خيارات المطور> USB التصحيح.

  8. ضبط الوقت إلى تنسيق 12 ساعة: إعدادات> التاريخ والوقت> تنسيق استخدام على مدار 24 ساعة> إيقاف.

  9. ضبط الجهاز على البقاء مستيقظا: إعدادات> خيارات المطور> البقاء مستيقظا> تشغيل.

  10. في الروبوت 5.x و 4.4.x فقط، ضبط الجهاز للسماح للمواقع وهمية: إعدادات> خيارات المطور> السماح بمواقع وهمية> تشغيل.

  11. في نظام التشغيل Android 4.2 أو أعلى، وإيقاف USB التحقق من التطبيقات: إعدادات> خيارات المطور> التحقق من التطبيقات عبر USB> إيقاف.

  12. قم بتشغيل المتصفح وتجاهل أي شاشة بدء تشغيل / إعداد.

  13. قم بتوصيل جهاز سطح المكتب الذي سيتم استخدامه لاختبار الجهاز باستخدام كبل USB.

تثبيت الملف

تثبيت وتكوين التطبيقات المساعدة على الجهاز.

  1. قم بإعداد جهازك وفقًا لإصدار CTS الخاص بك:

    • CTS الإصدارات 2.1 R2 من خلال 4.2 R4: إعداد الجهاز (أو المضاهاة) لتشغيل الاختبارات الوصول مع: abd install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk

      على الجهاز، تمكن الوفد: إعدادات> إمكانية الوصول> الوصول> تفويض الخدمة الوصول.

    • إصدارات CTS 6.x أو أقل: على الأجهزة التي تعلن android.software.device_admin ، إعداد الجهاز لتشغيل اختبار إدارة الجهاز باستخدام: adb install -r android-cts/repository/testcases/CtsDeviceAdmin.apk`

      في الإعدادات> الأمان> الإداريين جهاز تحديد، تمكن اثنين android.deviceadmin.cts.CtsDeviceAdminReceiver* مشرفي الجهاز. ضمان android.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver وتبقى تعطيل أي مشرفي جهاز مسبقة الآخرين.

  2. انسخ ملفات وسائط CTS إلى الجهاز كما يلي:

    1. انتقل ( cd ) إلى المسار حيث يتم تحميل ملفات الوسائط ومحلول.
    2. تغيير أذونات الملف: chmod u+x copy_media.sh

    3. انسخ الملفات الضرورية:

      • لنسخ مقاطع بدقة تصل إلى 720 × 480 ، قم بتشغيل:

        ./copy_media.sh 720x480
        
      • إذا لم تكن متأكدًا من الحد الأقصى للدقة ، فانسخ جميع الملفات:

        ./copy_media.sh all
        
      • إذا كان هناك العديد من الأجهزة تحت بنك التنمية الآسيوي، إضافة خيار التسلسلي ( -s ) من جهاز خاص لهذه الغاية. على سبيل المثال ، لنسخ ما يصل إلى 720 × 480 إلى الجهاز ذي الرقم التسلسلي 1234567 ، قم بتشغيل:

        ./copy_media.sh 720x480 -s 1234567