تُجري مجموعة أدوات اختبار الاتصالات في Android
(ACTS)
اختبارًا مبرمَجًا لحِزم الاتصال، مثل Wi-Fi وBluetooth
والخدمات الخلوية. تتطلّب أداة الاختبار استخدام
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 على الأجهزة
ثبِّت إصدار userdebug من Android على أجهزتك الاختبارية.
- أنشئ المستودع باستخدام التعليمات الواردة في مقالة إنشاء نظام التشغيل Android.
- وميض الجهاز كما هو موضح في
وميض جهاز.
- من المفترض أن يعرض الأمر
adb shell getprop ro.build.type
القيمةuserdebug
. - إذا لم يكن الإصدار
ro.build.type
متاحًا، يسمح إصدار userdebug بتشغيل ملف adb shell بصفته مشرفًا (وحدة التحكّم#
).
- من المفترض أن يعرض الأمر
إنشاء حزمة SL4A وتثبيتها
لإنشاء وتركيب Scripting Layer For Android (SL4A)، اتّبِع التعليمات الواردة في Scripting Layer for Android. القسم إضافة إصدارات SL4A إلى إصدارات Android تلقائيًا اختياري.
بعد إنشاء SLA4، تحتوي رسالة السجلّ الأخيرة على موقع ملف
sl4a.apk
، الذي يجب تثبيته على جميع الأجهزة. في ما يلي مثال على
رسالة السجلّ:
Copy: out/target/path/to/sl4a.apk
ضبط الأجهزة لإجراء الاختبار
اضبط الأجهزة باستخدام متطلبات الإصدار/أداة ACTS التالية:
إذا لم تكن مفاتيح ADB الخاصة بجهات التصنيع متاحة، انقر على النافذة المنبثقة الوثوق بهذا الكمبيوتر على جهاز 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 كما هو موضَّح في كتابة ملف إعداد.
إعداد البيئة
قبل إعداد البيئة، تأكَّد من أنّ الإصدار 3.4 من Python أو الإصدارات الأحدث مثبَّت.
التشغيل:
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
#
(عمليات تكرار الاختبار) إلى الأمر.