The On Demand Test Case Command allows you to manually select/define test procedures via a command button available when the Test Activity is Command Mode and test is running. The defined commands are sent from the TAS while the test is running and executed on the Test Server. Each command has a defined list of arguments. A test case can define multiple commands, including a list if arguments.
NOTE: In GGSN, HA, MME, OCS, PCRF, PGW, SGW, UMTS and Wifi Offload test cases, the Command button is available during test execution when Test Activity is Command Mode and in DRA, HSS, MME , PCRF and OCS Node test case, the Command button is available via Command Mode selection. |
See Command Mode Test Activity Settings for details.
See Test Case Commands TCl API for the Tcl API syntax and example.
See also:
The Test Case Commands are executed from the Tcl API and RESTFul API using the OnDemandCommand function. From Tcl API you can also query Test Case Command information by not including arguments.
When you are in the On Demand Command (ODC) Tab, using the F2 key, will provide you with API Parameters and arguments for both Tcl and REST APIs.
Additional details in topic Using the TCL API.
ls::perform OnDemandCommand -TestSession TEST_SESSION_HANDLE TS_INDEX TC_INDEX COMMAND_NAME ARGUMENT_TCL_LIST
ls::perform OnDemandCommand -TestSession $test 0 1 ControlBearer { SendBRI 1 55 }
ls::perform OnDemandCommand -TestSession $test 0 1
ls::perform OnDemandCommand -TestSession $test 0 1 ControlBearer
REST API via POST /api/runningTests/<ID>?action=sendOdc - Using the RESTFul API contains reference information about the Landslide RESTFul API system. Refer to Swagger UI on Landslide Home Page, it contains the latest most accurate information for anything it covers.
Example of ODC Commands for AMF Nodal:
AMF Nodal
cmdName = Control5G opName = op=Deregister|op=ReleaseConnection|op=ActivateConnection|op=Reset parameters: rate=RATE start_sub=START_SUB_INDEX end_sub=END_SUB_INDEX |
cmdName = Control5G opName = op=Register|op=XnHandover|op=N2Handover|op=RegTauMobility parameters: rate=RATE start_sub=START_SUB_INDEX end_sub=END_SUB_INDEX start_node=STARTING_NODE_INDEX end_node=ENDING_NODE_INDEX |
cmdName = Control5G opName = op=Register parameters: rate=RATE start_sub=START_SUB_INDEX end_sub=END_SUB_INDEX start_node=STARTING_NODE_INDEX end_node=ENDING_NODE_INDEX follow_on=FOLLOW_ON_NUM |
cmdName = Control5G opName = op=PduConnect|op=PduRelease parameters: rate=RATE start_sub=START_SUB_INDEX end_sub=END_SUB_INDEX start_pdu=STARTING_PDU end_pdu=ENDING_PDU |
cmdName = Control5G opName = op=PduModify parameters: rate=RATE start_sub=START_SUB_INDEX end_sub=END_SUB_INDEX pdu=PDU_INDEX mod_set=MOD_SET_1_10 |
cmdName = ExecuteVoLteScript opName = op=1|2|3|4|5|6|7|8|9|10 parameters: rate=RATE start_sub=STARTING_SUBSCRIBER_INDEX end_sub=ENDING_SUBSCRIBER_INDEX |
UE Node - tcClassName = UeNode - Go to On Demand Test Case Command for UE Node) section for additional details.
CmdName = ExecuteAtCmd
Attach | Detach | Connect |
ExecuteAtCmd { "op=Attach|Detach|Connect" "ue=UE_1_2_3_4"} |
Config |
ExecuteAtCmd { "op=Config" "ue=UE_1_2_3_4" "internet=APN" "inet_type=PDP_TYPE_0_1_2" "ims=APN" "ims_type=PDP_TYPE_0_1_2" "cust=APN" "cust_type=PDP_TYPE_0_1_2"} |
VolteCall |
ExecuteAtCmd { "op=VolteCall" "ue=UE_1_2_3_4" "number=CALL_NUMBER" "duration=DURATION"} |
Ping |
ExecuteAtCmd { "op=Ping" "ue=UE_1_2_3_4" "internet=APN" "inet_type=PDP_TYPE_0_1_2" "domain=DOMAIN" "duration=DURATION"} |
DmLogging |
ExecuteAtCmd { "op=DmLogging" "ue=UE_1_2_3_4" "log=LOG_0_1} |
CallWaiting |
ExecuteAtCmd { "op=CallWaiting" "ue=UE_1_2_3_4" "number=CALL_NUMBER" "duration=DURATION"} |
CallForwarding |
ExecuteAtCmd { "op=CallForwarding" "ue=UE_1_2_3_4" "number=CALL_NUMBER" "duration=DURATION" "ue2=UE_1_2_3_4" "number2=CALL_NUMBER2"} |
CallConference |
ExecuteAtCmd { "op=CallConference" "ue=UE_1_2_3_4" "number=CALL_NUMBER" "duration=DURATION" "ue2=UE_1_2_3_4" "number2=CALL_NUMBER2" "ue3=UE_1_2_3_4" "number3=CALL_NUMBER3"} |
CallReceive |
ExecuteAtCmd { "op=CallReceive" "ue=UE_1_2_3_4" "number=CALL_NUMBER" "duration=DURATION"} |
Speedtest |
ExecuteAtCmd { "op=Speedtest" "ue=UE_1_2_3_4" "timeout=SEC} |
cmdName = ExecuteAtCmd opName = op=Connect|op=Attach|op=Detach parameters: Ue=UE_1_2_3_4 |
cmdName = ExecuteAtCmd opName = op=Config parameters: Ue=UE_1_2_3_4 internet=APN inet_type=0_1_2 ("IPv4" = "0", "IPv6" = "1", "IPv4v6" = "2") ims=APN ims_type=0_1_2 ("IPv4" = "0", "IPv6" = "1", "IPv4v6" = "2") cust=APN cust_type=0_1_2 ("IPv4" = "0", "IPv6" = "1", "IPv4v6" = "2") |
opName = op=VolteCall, op=CallWaiting, op=CallReceive, parameters: Ue=UE_1_2_3_4 number=CALL_NUMBER duration=DURATION (seconds, range -1 - 65535, -1 = infinite) |
opName = op=CallForwarding, parameters: Ue=UE_1_2_3_4 number=CALL_NUMBER duration=DURATION (seconds, range -1 - 65535, -1 = infinite) Ue2=UE_1_2_3_4 number2=CALL_NUMBER2 |
opName = op=CallConference, parameters: Ue=UE_1_2_3_4 number=CALL_NUMBER duration=DURATION (seconds, range -1 - 65535, -1 = infinite) Ue2=UE_1_2_3_4 number2=CALL_NUMBER2 Ue3=UE_1_2_3_4 number3=CALL_NUMBER2 |
cmdName = ExecuteAtCmd opName = op=Ping parameters: Ue=UE_1_2_3_4 internet=APN inet_type=0_1_2 ("IPv4" = "0", "IPv6" = "1", "IPv4v6" = "2") domain=DOMAIN duration=DURATION (seconds, range -1 - 65535, -1 = infinite) |
cmdName = ExecuteAtCmd opName = op=DmLogging parameters: Ue=UE_1_2_3_4 log=0_1 ("Stop" = "0", "Start" = "1") |