برای دستگاههایی که دارای 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 |
5G میلی متر موج | TelephonyDisplayInfo.getOverrideNetworkType() = NR_MMWAVE |
5G SA | TelephonyManager.getDataNetworkType() = 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}