اختبار شبكة الجيل الخامس

بالنسبة إلى الأجهزة التي تعمل بالإصدار 11 من Android أو الإصدارات الأحدث، توفّر مجموعة اختبارات الاتصالات في Android (ACTS) حالات استخدام أساسية لشبكة الجيل الخامس (5G) غير المستندة إلى شبكة الجوّال الأساسية في البيئات التي تتضمّن جهازًا واحدًا أو عدة أجهزة. تتناول هذه الصفحة كيفية رصد اختبار ACTS لجهاز متصل بشبكة 5G NSA والتأكّد من ذلك، كما تقدّم إليك اطّلاعًا مختصَرًا على بنية مسار الاختبار.

رصد

بدءًا من Android 11، يتضمّن إطار عمل Android واجهات برمجة تطبيقات لرصد شبكة الجيل الخامس. لمزيد من التفاصيل، يُرجى الاطّلاع على رصد شبكة الجيل الخامس.

تتوافق "طبقة البرمجة النصية" (SL4A) مع ميزة "رصد شبكة الجيل الخامس" من خلال الاستماع إلى أحداث LISTEN_DISPLAY_INFO_CHANGED من PhoneStateListener وإلغاء طريقة onDisplayInfoChanged(). يستخدم SL4A القيم التالية للتمييز بين أنواع الاتصال بشبكة الجيل الخامس (5G) التي تستخدم تقنية NSA (غير مستقلة) وتقنية mmWave (موجات الملليمتر) وتقنية SA (مستقلة):

نوع الاتصال القيم
شبكة NSA لشبكة الجيل الخامس TechnicalManager.getDataNetworkType() = LTE

TelephonyDisplayInfo.getNetworkType() = LTE

TelephonyDisplayInfo.getOverrideNetworkType() = NR_NSA

شبكة 5G mmWave TelephonyDisplayInfo.getOverrideNetworkType() = NR_MMWAVE
شبكة الجيل الخامس في المملكة العربية السعودية TelephonyManager.getDataNetworkType() = NR

TelephonyDisplayInfo.getNetworkType() = NR

تستخدِم اختبارات ACTS الطريقة is_current_network_5g_nsa() لضمان اتصال الجهاز بشبكة 5G غير المستندة إلى الشبكة الأساسية.

مسارات الاختبار وبنية الاختبار

جميع اختبارات الهاتف (أكثر من 1400 اختبار) في ACTS هي جزء من tel directory. يمكنك العثور على اختبارات شبكة الجيل الخامس في دليل tools/test/connectivity/acts\_tests/tests/google/nr/ (يشير الاختصار nr إلى الراديو الجديد). مع طرح تكنولوجيا الوصول إلى الشبكة الراديوية (RAT) لشبكة الجيل الخامس، أصبحت اختبارات شبكة الجيل الخامس منفصلة عن اختبارات شبكات الجيل الرابع والثالث والثاني و1x لبيئة الشبكة المباشرة، وذلك للسماح بتوسيع نطاق اختبارات ACTS وجعلها مستقلة.

يوضّح ما يلي فئات الاختبار لاختبارات الجيل الخامس.

  • Nsa5gActivationTest: تحقّق من ما إذا كان جهاز واحد يتصل بشكل صحيح بشبكة الجيل الخامس غير المستندة إلى البنية الأساسية (NSA) من حالات مختلفة.

    test_5g_nsa_activation_from_apm test_5g_nsa_activation_from_reboot
    test_5g_nsa_activation_from_3g
    
  • Nsa5gVoiceTest: يتم التحقّق من وظائف المكالمات الصوتية بين أجهزة متعدّدة.

    test_5g_nsa_call_volte_to_volte test_5g_nsa_call_volte_to_3g
    test_5g_nsa_call_volte_mo_hold_unhold
    test_5g_nsa_call_mo_volte_in_active_data_transfer
    test_5g_nsa_volte_in_call_wifi_toggling
    
  • Nsa5gDataTest: التحقّق من وظائف البيانات، مثل التصفّح وتوقُّف البيانات عن العمل وقياسها

    test_5g_nsa_data_browsing test_5g_nsa_data_stall_recovery
    test_5g_nsa_metered_cellular test_5g_nsa_metered_airplane
    test_5g_nsa_metered_wifi
    
  • Nsa5gSmsTest: التحقّق من إرسال وتلقّي الرسائل القصيرة بين أجهزة متعددة

    test_5g_nsa_sms_mo_mt test_5g_nsa_sms_mo_mt_volte
    test_5g_nsa_sms_mo_mt_in_call_volte test_5g_nsa_sms_mo_mt_iwlan
    test_5g_nsa_sms_mo_mt_in_call_iwlan
    
  • Nsa5gMmsTest: التحقّق من إرسال وتلقّي رسائل الوسائط المتعددة بين أجهزة متعددة

    test_5g_nsa_mms_mo_mt test_5g_nsa_mms_mo_mt_in_call_volte
    test_5g_nsa_mms_mo_mt_iwlan_apm_off test_5g_nsa_mms_mo_mt_in_call_iwlan
    test_5g_nsa_mms_mo_mt_in_call_volte_wifi
    
  • Nsa5gTetheringTest: يتم التحقّق من ميزة "التوصيل عبر Wi-Fi" عبر جهاز متصل بـ NSA من شبكة الجيل الخامس.

    test_5g_nsa_tethering_to_5gwifi test_5g_nsa_tethering_to_2gwifi
    

نموذج لنتائج الاختبار

للتأكّد من أنّ الجهاز متصل بشبكة الجيل الخامس غير المزوّدة بإمكانية الوصول إلى الخدمات الجوّالة (NSA)، ابحث عن رسائل السجلّ التالية فيملف logcat.txt في directory/var/log/test_run_info.txt.

INFO [AndroidDevice|<SERIAL_ID>] Current ModePref for Sub 2 is in
NETWORK_MODE_NR_LTE_GSM_WCDMA [tel_test_utils.py:set_preferred_network_mode_pref:7634]
INFO [AndroidDevice|<SERIAL_ID>] Got expected event {'name': 'DisplayInfoChanged',
'data': {'override': 'NR_NSA', 'network': 'LTE', 'subscriptionId': 2147483647},
'time': 1611094526689} [tel_5g_utils.py:is_current_network_5g_nsa:58]

تحديد المشاكل وحلّها

لفرز استجابة واجهة برمجة التطبيقات بدون تشغيل اختبار ACTS أثناء الإخفاق، استخدِم الأوامر التالية:

>> python3
>> from acts.controllers.android_device import AndroidDevice; ad = AndroidDevice('<SERIAL_ID>'); a, b = ad.get_droid()
>> a.telephonyStartTrackingDisplayInfoChange()
>> b.start()
>> b.wait_for_event("DisplayInfoChanged", lambda _: True, timeout=30)

{'name': 'DisplayInfoChanged', 'data': 'TelephonyDisplayInfo {network=LTE, override=LTE_CA, 'time': 1586483596907}