สำหรับอุปกรณ์ที่ใช้ Android 11 ขึ้นไป Android Comms Test Suite (ACTS) รองรับกรณีการใช้งาน 5G NSA หลักสำหรับสภาพแวดล้อมการใช้งานแบบอุปกรณ์เดียวและหลายอุปกรณ์ หน้านี้กล่าวถึงวิธีที่ ACTS ตรวจหาและตรวจสอบว่าอุปกรณ์เชื่อมต่อกับเครือข่าย 5G NSA และแสดงภาพรวมของโครงสร้างเส้นทางทดสอบ
การตรวจจับ
ตั้งแต่ Android 11 เฟรมเวิร์กของ Android มี API สำหรับตรวจจับ 5G ดูรายละเอียดเพิ่มเติมได้ที่การตรวจจับ 5G
Scripting Layer For Android (SL4A) รองรับการตรวจจับ 5G โดยการฟังเหตุการณ์ LISTEN_DISPLAY_INFO_CHANGED
จาก PhoneStateListener
และลบล้างเมธอด onDisplayInfoChanged()
SL4A ใช้ค่าต่อไปนี้เพื่อแยกความแตกต่างระหว่างประเภทการเชื่อมต่อ NSA (ไม่ใช่สแตนด์อโลน), mmWave (คลื่นมิลลิเมตร) และ SA (สแตนด์อโลน) สำหรับ 5G
ประเภทการเชื่อมต่อ | ค่า |
---|---|
5G NSA | TelephonyManager.getDataNetworkType() = LTE |
5G mmWave | 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 ย่อมาจาก New Radio) การเปิดตัวเทคโนโลยีการเข้าถึงวิทยุ 5G (RAT) ทำให้การทดสอบ 5G แยกออกจาก 4G, 3G, 2G และ 1 เท่าสําหรับสภาพแวดล้อมเครือข่ายสด เพื่อให้การทดสอบ 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 NSAtest_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}