למכשירים עם Android מגרסה 11 ואילך, ב-Android Comms Test Suite (ACTS) יש תמיכה בתרחישי ליבה של 5G NSA בסביבות עבודה של יחיד או של כמה מכשירים. בדף הזה נסביר איך התכונה ACTS מזהה ומוודאת שהמכשיר מחובר לרשת 5G NSA, ומספקת סקירה כללית של המבנה של נתיב הבדיקה
זיהוי
החל מ-Android 11, מסגרת Android כוללת ממשקי API לזיהוי 5G. לפרטים נוספים, ראו זיהוי 5G.
שכבת סקריפטים ל-Android (SL4A) תומכת בזיהוי 5G על ידי האזנה לאירועים LISTEN_DISPLAY_INFO_CHANGED
מ-PhoneStateListener
והחלפה של השיטה onDisplayInfoChanged()
. SL4A משתמש בערכים הבאים כדי להבחין בין סוגי החיבור NSA (לא עצמאי), גמ"מ (גל מילימטר) ו-SA (עצמאי) ל-5G:
סוג החיבור | ערכים |
---|---|
5G NSA | טלפוניהManager.getDataNetworkType() = LTE |
גמ"מ 5G | טלפוניהDisplayInfo.getOverrideNetworkType() = NR_MMWAVE |
5G SA | phoneManager.getDataNetworkType() = NR |
בבדיקות ACTS נעשה שימוש ב-method 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}