اختبارات الاتصالات الهاتفية ACTS

يقوم Android Comms Test Suite (ACTS) بإجراء اختبار تلقائي لمكدسات الاتصال، مثل Wi-Fi وBluetooth والخدمات الخلوية. تتطلب أداة الاختبار adb . وPython، ويمكن العثور عليها في tools/test/connectivity/acts .

توضح هذه الصفحة كيفية تشغيل اختبارات الاتصال الهاتفي الأساسية المتوفرة في Android Open Source Project (AOSP) لمستخدم لديه هاتفين.

المتطلبات الأساسية

لتشغيل اختبارات الاتصال الهاتفي لـ ACTS، يجب أن يكون لديك حق الوصول إلى مستودع Android الكامل وتثبيت إصدارات userdebug على الأجهزة التي تريد اختبارها.

تنزيل مستودع Android

اتبع الإرشادات الواردة في تنزيل المصدر لتنزيل مستودع Android على جهاز به اتصال USB بالأجهزة التي تريد اختبارها.

  • AOSP عبارة عن قاعدة تعليمات برمجية متعددة الجيجابايت تستمر في النمو. اضبط توقعاتك لأوقات التنزيل وفقًا لذلك.
    • إذا كان حجم الجهاز مقيدًا، أضف --depth=1 إلى أمر repo init .
  • للحصول على التحديثات المستقبلية لأدوات ACTS، انتقل إلى الدليل الجذر لنظام Android:
    • استخدم repo sync tools/test/connectivity
    • repo sync external/sl4a

يتم التحقق من userdebug على الأجهزة

قم بتثبيت إصدار userdebug من Android على أجهزتك الاختبارية.

  • أنشئ المستودع باستخدام الإرشادات الواردة في إنشاء Android .
  • قم بتفليش الجهاز كما هو موضح في وميض الجهاز .
    • يجب أن يُرجع الأمر adb shell getprop ro.build.type userdebug .
    • إذا لم يكن ro.build.type متاحًا، فإن إصدار userdebug يسمح بتشغيل adb Shell كجذر (المحطة # ).

بناء وتركيب SL4A

لإنشاء طبقة البرمجة النصية لنظام Android (SL4A) وتثبيتها، اتبع الإرشادات الموجودة في طبقة البرمجة النصية لنظام Android . يعد قسم إضافة إصدارات SL4A إلى إصدارات Android افتراضيًا اختياريًا.

بعد إنشاء SLA4، تحتوي رسالة السجل الأخيرة على موقع ملف sl4a.apk ، الذي تحتاج إلى تثبيته على جميع الأجهزة. فيما يلي مثال لرسالة السجل:

Copy: out/target/path/to/sl4a.apk

تكوين الأجهزة للاختبار

قم بتكوين الأجهزة باستخدام متطلبات إنشاء/أداة ACTS هذه:

  • إذا كانت مفاتيح بائع ADB غير متوفرة، فانقر فوق النافذة المنبثقة Trust this Computer على DUT عندما تظهر. في حالة توفر مفاتيح بائع ADB:

    • يجب أن تكون مفاتيح وبرامج تشغيل بائعي ADB فريدة لـ DUT.
    • لتمكين تصحيح أخطاء USB دائمًا، يجب إضافة مفاتيح مورد ADB في شجرة المصدر إلى ~/.bashrc (أو ما يعادله) باستخدام export ADB_VENDOR_KEYS=/path/to/directory/with/vendor/keys حيث يكون /path/to/directory المسار المؤهل بالكامل على المضيف. لاستكشاف أخطاء ADB وإصلاحها، راجع تشغيل التطبيقات على جهاز .
  • السماح بتصحيح أخطاء USB: عند تثبيت برامج تشغيل adb، قد تقوم أجهزة adb بتشغيل مطالبة على الجهاز للسماح بتصحيح أخطاء USB.

  • قم بتثبيت sl4a.apk باستخدام $ adb install -r <ANDROID_ROOT>/path/to/sl4a.apk

  • تأكد من أن الهواتف تستخدم اتصال USB 2.0 بخادم الاختبار.

  • تعتمد هذه الاختبارات على شبكات خلوية حية، لذا ضع بطاقات SIM في الهواتف واحتفظ بالهواتف في منطقة بها خدمة خلوية جيدة.

  • قم بإضافة كافة بطاقات SIM إلى ملف .json كما هو موضح في كتابة ملف التكوين .

تهيئة البيئة

قبل إعداد البيئة، تأكد من تثبيت Python 3.4+.

يجري:

sudo apt-get install python3-setuptools
sudo apt-get install python3-pip
sudo pip3 install --upgrade pip setuptools
sudo apt-get install protobuf-compiler

تثبيت الأفعال

يجري:

cd <ANDROID_ROOT>/tools/test/connectivity/acts/framework/
sudo python3 setup.py develop
cd -

للتحقق من التثبيت، قم بتشغيل act.py -h ، الذي يطبع قائمة بالأوامر المتاحة.

كتابة ملف التكوين

لإجراء الاختبارات، يجب عليك إنشاء ملف يحتوي على معلومات التكوين. فيما يلي مثال لملف .config . يتوفر ملف مشابه في مستودع Android ضمن tools/test/connectivity/acts/framework/sample_config.json . استبدل XXXXXXX بالأرقام التسلسلية للجهاز لتوفير الحد الأدنى من المعلومات التي تحتاجها ACTS لإجراء اختبار هاتفي.

{
  "_description": "Minimum Telephony Config",
  "testbed":
  [
      {
          "_description": "A testbed listing two AndroidDevices for adb.",
          "name": "ExampleTestBed",
          "AndroidDevice": [{"serial": "XXXXXXX", "adb_logcat_param": "-b all"},
                            {"serial": "XXXXXXX", "adb_logcat_param": "-b all"}]
      }
  ],
  "logpath": "/path/to/logs",
  "testpaths": "/path/to/android/repo/tools/test/connectivity",
  "sim_conf_file": "/path/to/simcard_list.json"
}

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

مفتاح قيمة
_description التعليق على محتويات ملف التكوين بأكمله
testbed مواصفات البيئة التي يمكن إجراء الاختبارات فيها
(اختبار) _description قم بالتعليق على كل سرير اختبار، حيث يمكن لـ ACTS استهداف منصات الاختبار الفردية
name (الاختبار). اسم اختبار الاتصال من سطر الأوامر
(اختبار) AndroidDevice قائمة الأجهزة المحددة التي يستهدفها الاختبار
ملحوظة: يمكن أن يكون هناك عدة أجهزة مدرجة. يتوقع الاختبار الذي يقوم بتشغيل الهواتف التي تتصل ببعضها البعض وجود جهازين ويفشل إذا كان هناك عدد أقل. إذا كان هناك جهازان مدرجان وكان الاختبار يتوقع جهازًا واحدًا فقط، فسيتم تشغيل هذا الاختبار على الجهاز الأول.
(testbed) (AndroidDevice) serial الرقم التسلسلي للجهاز (مطبوع من adb devices )
(اختبار)(جهاز Android) adb_logcat_param المعلمات التي يتم تمريرها عند استدعاء adb logcat أثناء الاختبار
logpath الموقع على خادم الاختبار حيث يتم حفظ السجلات
testpaths موقع رمز حالة الاختبار
sim_conf_file موقع ملف .json الذي يسرد بطاقات SIM المتوفرة
تتضمن قائمة بطاقات SIM معرف البطاقة وإمكانيات البطاقة والمشغل ورقم الهاتف.
{
    "sim-card-ID-here": {
        "capability": [
            "voice",
            "ims",
            "volte",
            "vt",
            "sms",
            "tethering",
            "data"
        ],
        "operator": "tmo",
        "phone_num": "12345678901"
    },
...
}

يمكنك سحب رقم الهاتف من الجهاز ضمن النظام > حول الهاتف . تتم طباعة معرف بطاقة SIM بشكل عام على بطاقة SIM، أو يكون متاحًا من الجهاز ضمن النظام > حول الهاتف > حالة SIM . يتم تعريف سلسلة عامل التشغيل في tools/test/connectivity/acts_tests/acts_contrib/test_utils/tel/tel_defines.py ، ثم ابحث عن CARRIER_ .

خيارات التكوين الإضافية

يحتوي ملف entries.py الموجود في tools/test/connectivity/acts/framework/acts/config/entries.py في مستودع Android على تعريفات لخيارات تكوين سطر الأوامر الرئيسية.

يمكنك أيضًا العثور على معلمات خاصة بالاختبار في الكود من خلال البحث عن self.user_params.get .

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

قم بإجراء الاختبارات من سطر الأوامر بعد كتابة ملف التكوين. على الرغم من وجود العديد من الخيارات، فإن أبسطها هو استخدام -c filename.config -tc TestCase:name . يستخدم هذا المثال ملف تكوين يسمى minimum.config :

act.py -c minimum.config -tc TelLiveVoiceTest:test_call_mo_voice_general

يجب أن يكون للتشغيل التجريبي الناجح رسالة إخراج نهائية مثل هذه:

INFO Summary for test run ExampleTestBed@yyyy-mm-dd_15-23-43-614: Requested 1,
Executed 1, Passed 1, Failed 0, Skipped 0, Error 0

إجراء اختبارات متعددة

لتشغيل حالات اختبار محددة عبر ملفات متعددة، قم بإنشاء ملف اختبار وتمريره باستخدام العلامة -tf ، كما هو موضح في مجموعة اختبار الانحدار أدناه.

TelLiveVoiceTest:
test_call_mo_voice_general,
test_call_volte_to_volte,
test_call_3g_to_3g

TelLiveDataTest:
test_airplane_mode,
test_4g,
test_3g

TelLiveSmsTest:
test_sms_mo_4g,
test_sms_mt_4g,
test_sms_mo_3g,
test_sms_mt_3g,
test_mms_mo_4g,
test_mms_mt_4g

يفترض هذا الأمر المثال أن الملف يسمى regression_suite.

act.py -c minimum.config -tf regression_suite

إجراء الاختبارات عدة مرات

لتشغيل حالة اختبار ( -tc ) أو ملف اختبار ( -tf ) عدة مرات، أضف -ti # (تكرارات الاختبار) إلى الأمر.