5G टेस्टिंग

Android 11 या उसके बाद के वर्शन वाले डिवाइसों पर, Android Comms Test Suite (ACTS) एक और मल्टी-डिवाइस एनवायरमेंट के लिए, 5G एनएसए के मुख्य इस्तेमाल के उदाहरणों के साथ काम करता है. इस पेज में बताया गया है कि ACTS पता लगाता है और पक्का करता है कि डिवाइस किसी 5G एनएसए नेटवर्क से कनेक्ट किया गया है और आपको टेस्ट पाथ स्ट्रक्चर की खास जानकारी देता है.

पहचान करना

Android 11 से, Android फ़्रेमवर्क में 5G का पता लगाने के लिए एपीआई शामिल हैं. ज़्यादा जानकारी के लिए, 5G का पता लगाने की सुविधा देखें.

स्क्रिप्टिंग लेयर फ़ॉर Android (SL4A) 5G की पहचान करने की सुविधा देती है. इसके लिए, यह PhoneStateListener के LISTEN_DISPLAY_INFO_CHANGED इवेंट की जानकारी सुनना और onDisplayInfoChanged() तरीके को बदलना ज़रूरी है. SL4A, 5G के लिए NSA (नॉन स्टैंडअलोन), mmWave (मिलीमीटर वेव), और SA (स्टैंडअलोन) कनेक्शन टाइप के बीच अंतर करने के लिए, इन वैल्यू का इस्तेमाल करता है:

कनेक्शन किस तरह का है वैल्यू
5G एनएसए TelephonyManager.getDataNetworkType() = LTE

TelephonyDisplayInfo.getNetworkType() = LTE

TelephonyDisplayInfo.getoverlayNetworkType() = NR_NSA

5G मि॰मी॰ वेव TelephonyDisplayInfo.getoverlayNetworkType() = NR_MMWAVE
5G एसए TelephonyManager.getDataNetworkType() = एनआर

TelephonyDisplayInfo.getNetworkType() = एनआर

ACTS टेस्ट में is_current_network_5g_nsa() तरीके का इस्तेमाल करके यह पक्का किया जाता है कि डिवाइस, 5G एनएसए नेटवर्क से कनेक्ट है या नहीं

पाथ और टेस्ट के स्ट्रक्चर की जांच करें

एसीटीएस में सभी टेलीफ़ोनी जांच (1,400 से ज़्यादा) tel डायरेक्ट्री का हिस्सा हैं. 5G टेस्ट, tools/test/connectivity/acts\_tests/tests/google/nr/ डायरेक्ट्री में मौजूद हैं (एनआर का मतलब है नया रेडियो). 5G रेडियो ऐक्सेस टेक्नोलॉजी (RAT) के आने से, लाइव नेटवर्क एनवायरमेंट के लिए 5G टेस्ट, 4G, 3G, 2G, और 1x से अलग हैं. इससे ACTS टेस्ट, स्केलेबल और इंडिपेंडेंट तरीके से हो सकते हैं.

यहां 5G टेस्ट के लिए टेस्ट क्लास के बारे में बताया गया है.

  • Nsa5gActivationTest: यह पुष्टि करता है कि कोई एक डिवाइस, अलग-अलग राज्यों में 5G एनएसए से सही तरीके से कनेक्ट है या नहीं.

    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: एक से ज़्यादा डिवाइस के बीच एसएमएस मैसेज भेजने और पाने की पुष्टि करता है.

    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: एक से ज़्यादा डिवाइसों के बीच मल्टीमीडिया मैसेज (एमएमएस) भेजने और पाने की पुष्टि करता है.

    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: 5G एनएसए से कनेक्ट किए गए डिवाइस पर, वाई-फ़ाई टेदरिंग की पुष्टि करता है.

    test_5g_nsa_tethering_to_5gwifi test_5g_nsa_tethering_to_2gwifi
    

टेस्ट आउटपुट का सैंपल

किसी डिवाइस पर 5G एनएसए काम करता है या नहीं, इसकी पुष्टि करने के लिए 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]

समस्या हल करना

फ़ेल होने के दौरान, 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}