تست 5G

برای دستگاه‌هایی که دارای Android 11 یا بالاتر هستند، مجموعه تست Comms Android (ACTS) از موارد استفاده هسته 5G NSA برای محیط‌های تک و چند دستگاهی پشتیبانی می‌کند. این صفحه نحوه شناسایی و اطمینان از اتصال یک دستگاه به شبکه 5G NSA را پوشش می دهد و یک نمای کلی از ساختار مسیر آزمایش به شما ارائه می دهد.

تشخیص

از اندروید 11، چارچوب اندروید شامل APIهایی برای شناسایی 5G است. برای جزئیات بیشتر، به تشخیص 5G مراجعه کنید.

Scripting Layer For Android (SL4A) با گوش دادن به رویدادهای LISTEN_DISPLAY_INFO_CHANGED از PhoneStateListener و نادیده گرفتن روش onDisplayInfoChanged() از تشخیص 5G پشتیبانی می کند. SL4A از مقادیر زیر برای تمایز بین انواع اتصال NSA (غیر مستقل)، mmWave (موج میلی متری) و SA (مستقل) برای 5G استفاده می کند:

نوع اتصال ارزش ها
5G NSA TelephonyManager.getDataNetworkType() = LTE

TelephonyDisplayInfo.getNetworkType() = LTE

TelephonyDisplayInfo.getOverrideNetworkType() = NR_NSA

5G میلی متر موج TelephonyDisplayInfo.getOverrideNetworkType() = NR_MMWAVE
5G SA TelephonyManager.getDataNetworkType() = NR

TelephonyDisplayInfo.getNetworkType() = NR

تست‌های ACTS از روش is_current_network_5g_nsa() برای اطمینان از اتصال دستگاه به شبکه 5G NSA استفاده می‌کنند.

مسیرهای تست و ساختار تست

تمام آزمون های تلفنی (1400+) در ACTS بخشی از دایرکتوری tel هستند. تست‌های 5G در فهرست tools/test/connectivity/acts\_tests/tests/google/nr/ قرار دارند (nr مخفف رادیو جدید است). با معرفی فناوری دسترسی رادیویی 5G (RAT)، تست‌های 5G از 4G، 3G، 2G و 1x برای محیط‌های شبکه زنده جدا هستند تا آزمایش‌های ACTS مقیاس‌پذیر و مستقل باشند.

در زیر کلاس های آزمایشی برای تست های 5G توضیح داده شده است.

  • Nsa5gActivationTest : بررسی می کند که آیا یک دستگاه به درستی به 5G 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 : ارسال و دریافت پیام های SMS را بین چندین دستگاه تأیید می کند.

    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 : ارسال و دریافت پیام‌های MMS را بین چندین دستگاه تأیید می‌کند.

    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 را از طریق دستگاه متصل به 5G NSA تأیید می کند.

    test_5g_nsa_tethering_to_5gwifi test_5g_nsa_tethering_to_2gwifi
    

نمونه خروجی تست

برای تأیید اینکه دستگاهی روی 5G NSA است، پیام‌های گزارش زیر را در 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]

عیب یابی

برای تریاژ پاسخ API بدون اجرای تست 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}