Untitled

mail@pastecode.io avatar
unknown
plain_text
7 months ago
14 kB
5
Indexable
Never
- attach NSA/SA
- get DM log + msg on CPC + send TP
- handover inter-DU, intra DU, inter-gnb, intra-gnb, inter-rat


Muốn ở QXDM thì phải mở QUTS -> check port xem đúng không .

========================================== Những test case bắt bản tin ở QXDM ( về phầm DM) ===================================
- Đầu tiên là Start DM
- type sẽ là NA or NSA
- Attach Using Airplane Mode
- @{}  Get DM Messages 
- Run Keyword and ignore error là keyword trả về true với false nhé
----------------------------------
Get_DM_msg_QXDM
    [Tags]    CP
    Start DM
    ${observe_id}    Start Observe DM Message    rrcConnectionReconfiguration
    Attach Using Airplane Mode
    @{result}    Get DM Messages    ${observe_id}    rrcConnectionReconfiguration
    : FOR    ${i}    IN    @{result}
    \    Log    ${i}
    \    ${sts}    ${none}    Run Keyword And Ignore Error    Should Match Regexp    ${i}    (?s)CellConfigCommon.*physCellId:*
    \    exit for loop if    '${sts}'=='PASS'
    should be true    '${sts}'=='PASS'
    [Teardown]    Stop Dm
-----------------------------------

======================================== msg của cpc ===============================================
- eNB giao tiếp vs gNG thì ở vccb
- Trong ACPF sẽ có ssh1 và ssh0 nên kb chọn cái nào thì đoạn code dưới:
- Keywords để lấy log msg là :
------------------------
Check Log on VCCB
    ${ssh_0}    get_log_tail_return_term    ${G_vsm_mcm}    ${G_acpf_ip}    ${G_cpc_0_ip}    cmd=itscp_vccb get log tail -f
    ${ssh_1}    get_log_tail_return_term    ${G_vsm_mcm}    ${G_acpf_ip}    ${G_cpc_1_ip}    cmd=itscp_vccb get log tail -f
    ${log}    Attach Using Airplane Mode   type=nsa
    ${cpc_id}    set variable    ${log}[2]
    detach using airplan mode
    ${msg_num}     ${logfull}     get_log_return_ms
----------------------------
Check Log on VCCB
    ${ssh_0}    get_log_tail_return_term    ${G_vsm_mcm}    ${G_acpf_ip}    ${G_cpc_0_ip}    cmd=itscp_vccb get log tail -f
    ${ssh_1}    get_log_tail_return_term    ${G_vsm_mcm}    ${G_acpf_ip}    ${G_cpc_1_ip}    cmd=itscp_vccb get log tail -f
    ${log}    Attach Using Airplane Mode   type=nsa
    ${cpc_id}    set variable    ${log}[2]
    detach using airplan mode
    ${msg_num}     ${logfull}     get_log_return_msg_num1     ${ssh_${cpc_id}}    100s     F1_UEContextReleaseCommand
   : FOR    ${i}    IN    @{msg_num[0]}
    \    ${F1_UEContextReleaseCommand}    get_content_msg_with_term     ${ssh_${cpc_id}}    ${i}    itscp_vccb get log msg
    \    log    ${F1_UEContextReleaseCommand}
    \    ${stt}    Run Keyword And Return Status    Should Match Regexp    ${F1_UEContextReleaseCommand}    normal-release
    \    Exit For Loop If    ${stt}==True
    should be true     ${stt}==True



=================================== TP ===============================================
- Send UL và send DL 
----------------------------------
Checkline_Attach_TP
    [Tags]    CP
    Attach Using Airplane Mode    retry=1
    ${DL_TP}    Send Traffic And Get Throughput Using Iperf2    DL    500M
    ${UL_TP}    Send Traffic And Get Throughput Using Iperf2    UL    50M
    Should Be True    ${DL_TP}>${Downlink_Tp}
    Should Be True    ${UL_TP}>${Uplink_Tp}
-----------------------------------

*** Settings ***
#Suite Setup       Suite setup
#Suite Teardown    Suite Teardown
Library           ems/oam_common.py
Library           src_rmi.py
Library           SeleniumLibrary
Library           lib/src_rmi.py
Resource          res/res_svt.robot
Resource          res/ems/lsm/LoginLSM.robot
Resource          res/ems/lsm/Configuration/CellParameter.robot
Resource          res/ems/table.robot
Resource          res/object_resource/resource_qxdm.robot

*** Variables ***

*** Test Cases ***
testtt
    ${Result}    Rmi Lte Write Cmd And Get Result    RTRV-RRH-CONF:CONNECT_BOARD_TYPE="ECP_RRH",CONNECT_BOARD_ID="${G_rrh_enable_board_id}",CONNECT_PORT_ID="${G_rrh_enable_port_id}",CASCADE_ID="${G_rrh_equip_cascade_id}";
    ${AT_RollBack}    Rmi Lte Get Values With Heading From Cli Result    ${AT}    TX_ATTEN

exam
    [Documentation]    de bai
    ...    - attach
    ...    - send UL TP
    ...    - Verify TP
    [Tags]    exam
    start qxdm
    ${connected_pci}    ${ue_ip}    attach using qxdm lsm
#    Send Downlink Traffic Infinitely    ${ue_ip}    UDP    100
    Send Uplink Traffic Infinitely    ${ue_ip}    UDP    100
    ${UL}    Get UL Throughput by CLI
    log    ${UL}
    should be true    ${UL}>0
    detach using qxdm
    stop qxdm

exam2
    [Documentation]    de bai
    ...    - get DEFAULT_PAGING_CYCLE in CLI
    ...    - Get defaultPagingCycle  message in QXDM
    ...    - It should match
    [Tags]    exam2
    ${result}    rmi lte write cmd and get result    RTRV-PCCH-CONF;
    ${default_paging}    Rmi Lte Get Value With Heading From Cli Result    ${result}    DEFAULT_PAGING_CYCLE[msec]
    log    ${default_paging}
    start qxdm
    ${observe_id}    Start To Observe DM Message
    attach using qxdm lsm    1
    Sleep    5

    ${sib2}    Get DM Messages After Given Item ID    ${observe_id}    BCCH_DL_SCH/SystemInformation    sib2
    Log    ${sib2}
    : FOR    ${msg}    IN    @{sib2}
    \    Log    ${msg}
    \    ${sts}    Should Match Regexp    ${msg}    defaultPagingCycle\\s(rf\\d+)
    \    Exit For Loop If      '${sts}[1]' == '${default_paging}'
    Should Be True    '${sts}[1]'=='${default_paging}'
    detach using qxdm
    stop qxdm



*** Keywords ***

Get UL Throughput by CLI
    [Arguments]    ${cell_id}=${G_cell_enable_id}
    [Documentation]    *_PIC_* Sau.dt1
    ...
    ...    - Get cell TP by CLI RTRV-CELL-TP
    ...
    ...    _Example_
    ...
    ...    | ${UL} | ${DL} | Get Throughput by CLI |

    ${out}=    Rmi Lte Write Cmd And Get Result    RTRV-CELL-TP:CELL_NUM="${G_cell_enable_id}";     ${G_enb_cli_name_rmi}    ${G_lsm_ip}
    ${rlc_ul}    Rmi Lte Get Value With Heading From Cli Result    ${out}    RLC_ULTP
    [Return]    ${rlc_ul}

Get DL Throughput by CLI
    [Arguments]    ${cell_id}=${G_cell_enable_id}
    [Documentation]    *_PIC_* Sau.dt1
    ...
    ...    - Get cell TP by CLI RTRV-CELL-TP
    ...
    ...    _Example_
    ...
    ...    | ${UL} | ${DL} | Get Throughput by CLI |

    ${out}=    Rmi Lte Write Cmd And Get Result    RTRV-CELL-TP:CELL_NUM="${G_cell_enable_id}";    ${G_enb_cli_name_rmi}    ${G_lsm_ip}
    ${rlc_dl}    Rmi Lte Get Value With Heading From Cli Result    ${out}    RLC_DLTP
    [Return]    ${rlc_dl}

Suite setup
    SVMC Suite Setup
    Initialize LSM

Suite Teardown
    Logout LSM
    Close All Browsers
    SVMC Suite Teardown


=================================================================================================

*** Settings ***
Suite Setup       Suite Setup
Suite Teardown    Suite Teardown
Library           src_rmi.py
Library           lib/lte/auto_cprs_common.py
Library           lib/src_rmi.py
Library           lib/gconf.py
Resource          resource_adb.robot
Library           lib/alib/rmi_lsm/auto_rmi_lsm.py
Library           lib/src/auto_TrafficServer.py
Library           lib/lte/auto_pm_common.py
Library           lib/alib/mme/auto_cbc.py
Resource          res/ems/common.robot
Resource          res/object_resource/resource_qxdm.robot
Resource          object_resource/resource_atten.robot
Resource          res/res_svt.robot
Resource          res/ems/vsm/fault/debug_alarm.robot
Resource          res_svt.robot
Library           lib/auto_E500.py
Library           lib/src/auto_DshObserver.py
Resource          res/ems/vsm/datetimepicker.robot
Library           lib/lte/yang_pld_command.py
Library           String
Library           lib/src/auto_DSP.py
Resource          res/object_resource/resource_telnet.robot
Resource          ems/lsm/LoginLSM.robot
Resource          res/ems/lsm/Configuration/CLI.robot
Resource          res/ems/vsm/configuration/cell_management.robot
Library           src_rmi.py
Resource          res/ems/lsm/RackViewer.robot

Resource          res/object_resource/resource_qxdm.robot
Resource          tests_all_prj/RT/OAM/OAM_RAN/Fault Management/INIT DSP.robot
*** Test Cases ***


Handover_demo
    [Documentation]     HO X2 - S1
    ...    - Delete NBR
    ...    - Add NBR
    ...    - Set value in FA
    ...    - Attach
    ...    - HO
    ...    - Verify eccb
    [Tags]     Handover_demo
    [Setup]    Test Setup
    Verify Handover with X2/S1    X2    False
    initialize atten value
    Verify Handover with X2/S1    S1    True
	[Teardown]    Test Teardown

*** Keywords ***

Verify Handover with X2/S1
    [Arguments]    ${handover_type}    ${no_x2_ho}=False
    rmi lte del all nbr enb    ${G_enb_cli_name_rmi}        ${G_lsm_ip}
    rmi lte create nbr enb botway     ${G_enb_cli_name_rmi}    ${G_target_enb_cli_name_rmi}    ${G_lsm_ip}    no_x2_ho=${no_x2_ho}
    rmi lte write cmd and get result    CHG-EUTRA-FA:CELL_NUM="${G_cell_enable_id}",FA_INDEX="0",STATUS="EQUIP";    ${G_enb_cli_name_rmi}    ${G_lsm_ip}
	rmi lte write cmd and get result    CHG-EUTRA-A3CNF:CELL_NUM="${G_cell_enable_id}",PURPOSE="IntraLteHandover",FA_INDEX="0",ACTIVE_STATE="Active",A3_OFFSET="0",TRIGGER_QUANTITY="rsrp";
	start qxdm
	attach using qxdm lsm
	${dsh_id}    start to observe dsh    eccb    EVENT A3(IntraLteHandover)    INTER eNB HANDOVER (${handover_type} : To eNB#${G_target_enb_id})    ne_ip=${G_enb_ip}
	Do Handover
	${log_eccb}    Wait Dsh Messages After Start    ${dsh_id}    2m
    log    ${log_eccb}
	detach using qxdm

Test Setup
    log to console    __________    get parameter fa for teardown    __________
    ${Eutra_FA}    rmi lte write cmd and get result    RTRV-EUTRA-FA:CELL_NUM="${G_cell_enable_id}",FA_INDEX="0";
    ${status}    rmi lte get value with heading from cli result    ${Eutra_FA}    STATUS
    ${command_teardown_fa}    set variable    CHG-EUTRA-FA:CELL_NUM="${G_cell_enable_id}",FA_INDEX="0",STATUS="${status}";
    log to console    __________    get parameter a3 for teardown    __________
    ${EUTRA_A3CNF}    rmi lte write cmd and get result    RTRV-EUTRA-A3CNF:CELL_NUM="${G_cell_enable_id}",PURPOSE="IntraLteHandover",FA_INDEX="0";
    ${Its_active}    rmi lte get value with heading from cli result    ${EUTRA_A3CNF}    ACTIVE_STATE
    ${A3_offset}    rmi lte get value with heading from cli result    ${EUTRA_A3CNF}    A3_OFFSET[dB]
    ${TRIGGER_QUANTITY}    rmi lte get value with heading from cli result    ${EUTRA_A3CNF}    TRIGGER_QUANTITY
    ${command_teardown_a3}    set variable    CHG-EUTRA-A3CNF:CELL_NUM="${G_cell_enable_id}",PURPOSE="IntraLteHandover",FA_INDEX="0",ACTIVE_STATE="${Its_active}",A3_OFFSET="${A3_offset}",TRIGGER_QUANTITY=" ${TRIGGER_QUANTITY}";
    log to console    __________    setup for handover    __________
    set test variable    ${command_teardown_fa}
    set test variable    ${command_teardown_a3}

Test Teardown
    rmi lte write cmd and get result    ${command_teardown_fa}
	rmi lte write cmd and get result    ${command_teardown_a3}

Suite Setup
    SVMC Suite Setup
    initialize atten value
    set plmnsiginact timer    is_vsm=Fail
Suite Teardown
    set plmnsiginact timer    10    is_vsm=Fail
    initialize atten value
    SVMC Suite Teardown



===============================================================


Test_RMI
     ${module}    Get Module Type    ${G_du_name_rmi}
     ${log}     rmi_netconf_get     ${G_du_name_rmi}     managed-element/gnb-du-function/gnb-du-plmn-info    ${module}
     log     ${log}

#     rmi_netconf_set    ${G_acpf_name_rmi}      managed-element/gnb-cu-cp-function/call-success-ratio-low-alarm      monitoring-period=10
#     ${log}    rmi_netconf_get    ${G_acpf_name_rmi}      managed-element/gnb-cu-cp-function/call-success-ratio-low-alarm
#     ${log}    rmi_netconf_get    ${G_acpf_name_rmi}      managed-element/gnb-cu-cp-function/gnb-cu-cp-function-entries[gnodeb-id\=${G_gnb_id}]/gutran-cu-cell/gutran-cu-cell-entries[cell-identity\=${G_cell_identity}]
#     ${log}    rmi_netconf_get    ${G_aupf_name_rmi}      managed-element/virtual-function/vnf/vnfc/vnfc-entries[vnfc-type\=umc,vnfc-id\=0]/ip-system/system-ip-information/service-ipv4-info
##      ${log}    rmi_netconf_get    ${G_acpf_name_rmi}      managed-element/virtual-function/vnf/vnfc/vnfc-entries[vnfc-type\=cmc,vnfc-id\=0]
     log    ===========================================================
     ${log}    rmi_netconf_get    ${G_acpf_name_rmi}      managed-element/virtual-function/vnf/vnfc/vnfc-entries[vnfc-type\=cmc,vnfc-id\=0]
     log    ${log}
#     ${key}    set variable    ${log['virtual-port']['virtual-port-entries'][0]['administrative-state']}
#     log    ${key}
#     rmi_netconf_set    ${G_acpf_name_rmi}      managed-element/virtual-function/vnf/vnfc/vnfc-entries[vnfc-type\=cmc,vnfc-id\=0]    administrative-state=locked
#     ${key1}    set variable    ${log['virtual-port']['virtual-port-entries'][0]['administrative-state']}
#     log    ${key1}


#      ${log}    rmi_netconf_get    DU_101101    managed-element/gnb-du-function/gutran-du-cell/gutran-du-cell-entries    cell-identity=111
#      log     ${log}
#      ${key}    set variable    ${log['administrative-state']}
#      rmi_netconf_set    DU_101101    managed-element/gnb-du-function/gutran-du-cell/gutran-du-cell-entries    cell-identity=111    administrative-state=unlocked

#      ${log_out}    rmi_netconf_get    DU_101101    managed-element/gnb-du-function/gutran-du-cell/gutran-du-cell-entries    cell-identity=111
#      should be true    "${log_out['administrative-state']}"=="locked"