Para dispositivos com o Android 11 ou versões mais recentes, o Android Comms Test Suite (ACTS, na sigla em inglês) oferece suporte a casos de uso principais da 5G NSA para ambientes de um e vários dispositivos. Nesta página, explicamos como o ACTS detecta e garante que um dispositivo esteja conectado a uma rede 5G da NSA e fornece uma visão geral da estrutura do caminho de teste.
Detecção
A partir do Android 11, o framework do Android inclui APIs para detectar 5G. Para mais detalhes, consulte Detecção de 5G.
A camada de script para Android (SL4A) oferece suporte à detecção de 5G ao detectar eventos
LISTEN_DISPLAY_INFO_CHANGED
de PhoneStateListener
e substituir o método
onDisplayInfoChanged()
. O SL4A usa os seguintes valores para distinguir entre os tipos de conexão NSA (não
independente), mmWave (onda milimétrica) e SA (independente) para
5G:
Tipo de conexão | Valores |
---|---|
5G NSA | TelephonyManager.getDataNetworkType() = LTE |
5G mmWave | TelephonyDisplayInfo.getOverrideNetworkType() = NR_MMWAVE |
SA 5G | TelephonyManager.getDataNetworkType() = NR |
Os testes ACTS usam o método
is_current_network_5g_nsa()
para garantir que o dispositivo esteja conectado a uma rede 5G da NSA.
Testar caminhos e estrutura de teste
Todos os testes de telefonia (mais de 1.400) no ACTS fazem parte do diretório tel
.
Os testes 5G estão localizados no
diretório tools/test/connectivity/acts\_tests/tests/google/nr/
(nr significa novo rádio). Com a introdução da tecnologia de acesso por rádio 5G
(RAT), os testes 5G são separados de 4G, 3G, 2G e 1x para ambientes de rede
ao vivo para permitir que os testes ACTS sejam escalonáveis e independentes.
Confira a seguir as classes de teste para testes 5G.
Nsa5gActivationTest
: verifica se um único dispositivo se conecta corretamente ao 5G NSA de vários estados.test_5g_nsa_activation_from_apm test_5g_nsa_activation_from_reboot test_5g_nsa_activation_from_3g
Nsa5gVoiceTest
: verifica a funcionalidade de chamadas de voz entre vários dispositivos.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
: verifica a funcionalidade dos dados, como navegação, restrição de dados e limitação.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
: verifica o envio e o recebimento de mensagens SMS entre vários dispositivos.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
: verifica o envio e o recebimento de mensagens MMS entre vários dispositivos.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
: verifica o tethering de Wi-Fi em um dispositivo conectado à rede 5G NSA.test_5g_nsa_tethering_to_5gwifi test_5g_nsa_tethering_to_2gwifi
Exemplo de saída de teste
Para confirmar se um dispositivo está no 5G NSA, verifique as seguintes mensagens de registro em
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]
Solução de problemas
Para classificar a resposta da API sem executar um teste ACTS durante a falha, use os seguintes comandos:
>> 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}