สำหรับอุปกรณ์ที่ใช้ Android 11 ขึ้นไป ชุดทดสอบ Android Comms Test Suite (ACTS) รองรับกรณีการใช้งาน core 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 เอ็นเอสเอ | TelephonyManager.getDataNetworkType() = LTE |
5G มม.เวฟ | TelephonyDisplayInfo.getOverrideNetworkType() = NR_MMWAVE |
5G เอสเอ | 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 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}