การทดสอบ 5G

สำหรับอุปกรณ์ที่ใช้ 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

TelephonyDisplayInfo.getNetworkType() = LTE

TelephonyDisplayInfo.getOverrideNetworkType() = NR_NSA

5G mmWave 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 ย่อมาจาก 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 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}