تُجري حزمة اختبار التواصل من Android
(ACTS)
اختبارًا مبرمَجًا لبيانات حزم الاتصال، مثل شبكة Wi-Fi والبلوتوث وخدمات شبكة الجوّال. تتطلّب أداة الاختبار استخدام
adb وPython. هذه الأداة متوفّرة في tools/test/connectivity/acts
.
توضّح هذه الصفحة طريقة إجراء اختبارات الاتصال الهاتفي الأساسية المتوفّرة في المشروع المفتوح المصدر لنظام Android (AOSP) لمستخدم يمتلك هاتفَين.
المتطلّبات الأساسية
لإجراء اختبارات الاتصال الهاتفي من خلال ACTS، يجب أن تتمكّن من الوصول إلى مستودع Android كامل وتثبيت إصدارات userdebug على الأجهزة التي تريد اختبارها.
تنزيل مستودع Android
اتّبِع التعليمات الواردة في مقالة تنزيل المصدر لتنزيل مستودع Android على جهاز يتضمّن اتصال USB بالأجهزة التي تريد اختبارها.
- AOSP هو قاعدة رموز متعددة الغيغابايت تستمر في النمو. اضبط توقعاتك بشأن أوقات التنزيل وفقًا لذلك.
- إذا كان حجم الجهاز محدودًا، أضِف
--depth=1
إلى الأمرrepo init
.
- إذا كان حجم الجهاز محدودًا، أضِف
- للحصول على التحديثات في المستقبل حول أدوات ACTS، انتقِل إلى الدليل الجذري على Android:
- استخدام
repo sync tools/test/connectivity
- و
repo sync external/sl4a
- استخدام
التحقّق من اعتماد تصحيح أخطاء المستخدم على الأجهزة
ثبِّت إصدار userdebug من Android على الأجهزة الاختبارية.
- يمكنك إنشاء المستودع باتّباع التعليمات الواردة في إنشاء Android.
- وميض الجهاز كما هو موضح في
وميض جهاز.
- من المفترض أن يعرض الأمر
adb shell getprop ro.build.type
القيمةuserdebug
. - إذا لم تكن السمة
ro.build.type
متاحة، يسمح إصدار userdebug بتشغيل هيكل adb كجذر (الطرف الطرفي#
).
- من المفترض أن يعرض الأمر
إنشاء SL4A وتثبيته
لإنشاء طبقة البرمجة النصية وتثبيتها لنظام التشغيل Android (SL4A)، يُرجى اتّباع التعليمات الواردة في طبقة البرمجة النصية لنظام التشغيل Android. يكون القسم إضافة إصدارات SL4A إلى إصدارات Android تلقائيًا اختياريًا.
بعد إنشاء SLA4، تتضمّن رسالة السجلّ الأخيرة موقع ملف
sl4a.apk
الذي يجب تثبيته على جميع الأجهزة. إليك مثال على رسالة السجل:
Copy: out/target/path/to/sl4a.apk
ضبط الأجهزة لإجراء الاختبار
اضبط الأجهزة باستخدام متطلبات الإصدار/أداة ACTS التالية:
إذا لم تكن مفاتيح مورّد ADB متاحة، انقر على النافذة المنبثقة موثوق به في هذا الكمبيوتر (DUT) في 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
تثبيت ACTS
التشغيل:
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 )
|
(testbed)(AndroidDevice) 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
#
(تكرارات اختبارية) إلى الأمر.