Coordinated Multi Channel Tests

A coordinated multi channel test consists of multiple scenarios being carried out simultaneously (possibly) on multiple devices.

VoLTE and CS test cases function in an EC25 module which is programmed with and supports python, while VoWiFi test cases are automated on an android mobile device using CodeceptJS which uses Javascript, which is translated from Gherkin syntax. Due to this, there are two separate languages for carrying out tests, when VoLTE/CS is used and when VoWiFi is used.

VoLTE & CS (with Python)

sequential_runner.execute("device_name", "mX_sX", "project_name", "scenario_name")

VoWiFi (with Gherkin)

Given I execute scenario on "device_name" with "mX_sX" "project_name" "scenario_name"

Keyword Definitions

Keyword Description
'Given I' A keyword used to describe the initial context of the system. This part should not be modified in any way. Only applicable for the Gherkin code
'sequential_runner.execute' (PY) OR 'execute scenario on' (JS) The function that handles the multi channel test execution. This part should not be modified in any way.
'device_name' The name of the device in which you would like to run the additionsal executions. Type: String
'with' A keyword to indicate what parameters will be used with the device_name. This part should not be modified in any way. Only applicable for the Gherkin code
'mX_sX' mX, 'm' meaning 'module', and 'X' refering to which module you would like to use, X is an integer ranging from 1-4 inclusive, '_' a separator between the module and sim notations, sX, 's' meaning 'sim', and 'X' refering to which sim you would like to use in the selected module., X is an integer ranging from 1-4 inclusive, Type: String
'project_Name' The project which contains the scenario(s) that you would like to use for the test execution. Type: String
'scenario_name' The scenario name that you would like to use for the test execution. Type: String

Note: All Keywords of type String must be surrounded by "double quotes" in the code during implementation.

Examples

Using Python

import sys
import os
from xgdriver.module_driver import ModuleDriver
import sequential_runner

ModuleDriver.set_scenario_name('BCALL VoLTE SUC 01 Caller A')
xg = ModuleDriver(sys.argv[1])
msisdn = os.environ.get('MSISDN')

sequential_runner.execute("XG-069-0420","m1_s1","Telcom VoWiFi", ["BCALL-VoWiFi-SUC-13"])

xg.get_signal_strength()
xg.get_imsi()

# Check LTE Registration Status
xg.check_lte_status()

# Enable IMS
xg.config_ims_en()

# Check IMS Registration
xg.check_ims_en()

# Call MSIDN
xg.dial(str(msisdn))

# Check Call Status
xg.check_call_active()

# Check LTE Registration Status
xg.check_lte_status()

# Hang Call
xg.hang_call()

Using Gherkin

Scenario: BCALL-VoWiFi-SUC-02
Given I execute scenario on "XG-069-0420" with "m3_s1" "Telcom P1 CS and VoLTE" "BCALL VoLTE SUC 01 Receiver B"
    Then I call the number
    Then I check that call has been answered
    Then I cut the call
Given I prep RF radio
    Then I revert settings VoWifi
Then I check that VoWiFi is disabled