RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
Following are the new pages added for scripless execution support in Orchestration.
Table of Contents |
---|
User can login into Automatics through any one of these two authentication modes - Self-Authentication or LDAP Authentication.
Link to the page: <APi Explorer URL> For API's Explorer we can verify via API Explorer: <<Api Explorer (rdkcentral.com)>>
User can get to know the API's information such as API category, Class name, API name, Applicable for, description and parameter details.
User can explore the APIs present in the Automatics by 2 ways:
...
Select Using Environment Type & API Category
Environment Type: Select appropriate environment (for E.g., select RDKV
...
for Video devices, RDKB
...
for broadband devices
...
using keywords, we can search for API (Ex: channel tune), it will expose all channel related API's.
API's can be verified via
To execute tests on devices, partner has to configure device models and the device details in Automatics.
To execute tests on a new device model in Automatics, partner has to configure device model details in Device Manager, Automatics Orchestration and Automatics Properties.
The detailed steps of configuring device models in each component is shared below.
Devices to be used in the Automatics System should be configured in Device Manager. These devices are provided to Automatics Orchestration during test execution. Follow the below steps to add device details to the device manager database.
To Invoke the API defined for Device Manager application using Swagger UI tool which is integrated with Device Manager application.
Steps to invoke an API on Swagger UI tool is available at Device Manager API Documentation#SwaggerUIUsage.
Automatics identifies a device model from its build name. For this, admin user has to configure device model and it's corresponding build name. It requires only to map the device model and initial starting sub string of build name. The starting few letters(image prefix) in the build name should be unique to a device model and this should be added in 'Image Name Prefix' text.
Steps to configure device model in Automatics Orchestration is available at Automatics Orchestration Configure Device Model.
Partner has to configure model details in device_config.json deployed with Automatics Properties. The file can be found at VM where Automatics Properties is deployed at location {Apache_Tomcat_Home_Directory}/webapps/automatics/device_config.json. Edit this file and add models details as shown below.
...
{
"name"
:
"Raspberry Pi-RDKB"
,
"automaticsModelName"
:
"Rpi-RDKB"
,
"rackModelNames"
:[
"Rpi-RDKB"
],
"groups"
:[
""
],
"category"
:
"RDKB"
,
"inventoryModelName"
:
"Rpi-RDKB"
,
"accessibleMechanism"
:
"SSH"
,
"accessbilityCheck"
:
false
,
"waitTimeAfterHardReboot"
:
300000
}
)
API Category: Category of the API user want to explore.
Using Keywords
Keywords: Name of the API.
(For eg: keyword='CHANNEL_TUNE' it will list out the API names which contains the word CHANNEL_TUNE)
Other than that user can find out the Test cases (with Step Information) that is using the specific API.
Link to Build Test Utility: <<Build Utility (rdkcentral.com)>>
Build utility in automatics is creating the frequently used steps as utility. The same utility can be injected in to any other testcases.
For example, if 4 steps are used in common for multiple testcases then user can club those four steps into a build utility and then user can insert that utility into any other test cases.
The advantage of build utility is reusability since it decreases the effort for user to create the same steps again and again.
Build utility can be created in the same way as build test case.
User can create utility by clicking Build Utility tab under Test Manager icon as shown below,
Test Manager --> Build Utility
First user should create the test steps as utility as shown above.
Then user can add that utility as a step while creating the test case as shown below,
In the test step creation page, click on the User Utility step option.
Select the utility from the drop down.
Link to Build Test case: <<Build Test Case (rdkcentral.com)>>
User can create testcase by clicking the above link and this is used to create new testcase, Edit testcase.
The build test case Page will be as shown below:
The build test case tab consists of the following fields,
1. Test Case ID:
User must enter the test case specific test case name.
2. Test Case Description:
User must enter the detailed description about the test case.
3. Author:
The author will be non-editable text box with the logged in user id.
4. Environment Type:
Select appropriate environment (for E.g., select RDKV for Video devices, RDKB for broadband devices). The drop-down consists of RDK-V, RDK-B and Select All. If test case is applicable for all of them then user can select the Select all. User can select multiple platforms if the test case is applicable for all of them.
5. Test type:
Select the appropriate test type.
6. Test Priority:
Select the test priority.
7. Execution Mode:
Select the execution mode according to the way in which the test case should be executed.
8. Run on Models:
Select applicable device models.
9. RDK Component:
Select the applicable RDK Components.
10. End Point:
Select the End Point(s).
11. User Groups:
Select the User Groups.
12. Test Suite Names:
Select the Test Suite Names if needed to group the test cases.
To create new test suite name: Select ADD NEW TEST SUITE option.
User can verify once whether all the details are valid and then click on the Next button.
Then user will be navigated to Build Test case page as shown below.
To build our own test case,
we can add three steps.
By clicking Add Step button, the User will get a drop-down as shown below.
All the options that are present in the drop-down are explained below,
Step option will create a plain step as shown below.
The fields are explained below,
1. Step No.:
Step number will be a non-editable text box.
2. Description:
The user should enter a detailed description of the test step.
3. Expected Result:
Users should enter the expected result or the outcome of the test step
4. Avail. Method:
User should select the method that has to be used in the test step. User can either select the method from the drop down or can search the method by clicking the search icon.
5. Input:
By clicking the settings icon in the Input filed, User will be navigated to Input Configuration page as shown below.
* Command: Command that should be executed must be added in the command field.
* Validation Type: User can select how the output of the command executed should be validated. All the available validation types are explained above (in Test Step Generator)
* Applicable Models: User can select all the device models to which the command will be applicable.
* Expected Output: The expected output of the command should be given in this field.
* Execute On Connected Client: If the selected execution mode of the test case is Connected Client, then user can select Device-Config and Clients.
After entering all the details of the input command, need to click on the Add button. User can verify once whether all the details are valid and then click on the Submit button. Now the command/test step detail is added. If user wants to edit, user can click on edit button. If user want to change the declaration part, click on delete button. Once all the details are added click on the submit button.
6. Step Output:
The step output of the step should be given in this field.
7. Action:
* Additional Values:
By clicking external-link icon, User will get Additional Values window as shown below.
is Primary Step? if selected as false, the step will not be considered as primary and step status will not be updated.
Force Update Parent Status: By setting this value to 'Yes' user can update the status of the current step to the parent step without considering the previous step's status.
Disable Step: will be used for test case developer to disable the step. So, that specific step will not get executed during the execution.
Add Polling: if option yes selected then we have two options for polling 1. duration, 2. Iteration
Actions: By using this option, user can add the details about what will happen in the particular step. The same will be displayed in manage scripts page under steps details option.
Impact: By using this option, user can add the details about what will be the end result for this particular step. The same will be displayed in manage scripts page under steps details option.
Custom Error Message: By using this option, user can add a custom failure message for a step failure which will be displayed in result page after test execution.
After entering all the additional values, need to click on Save button.
* Child Steps: By clicking the plus icon, User can create child steps.
* Delete Step: By clicking the delete icon, User can delete the particular test step
User should be able to add Test Script with Iterational step and able to select LOOP/EXITLOOP from test type and able to enter the itteration count and duration in seconds.
Provide steps to validate-
Navigate to build testcase page.
Provide Valid test case id, select test type 'Functional', select device model...etc. and click on Next button, it will navigate to next page-build testcase page.
select Add Step and select Iterational step.
select LOOP/EXITLOOP from test type.
Add iteration count/duration in seconds by clicking input icon.
Iterational option will create an iteration step as shown below.
The fields are explained below,
1. Step No:
Step number will be non-editable text box.
2. Description:
User should enter the detailed description about the test step.
3. Test Type:
User should select the test type. The drop down contains LOOP and EXIT-LOOP.
4. Input:
By clicking the settings icon in the Action filed, User will be navigated to Add Iteration or Duration page as shown below.
We need to provide either Iteration Count or Duration in Seconds and click -> Save button. Now the Command / Test step added successfully.
Conditional step is use add condition (E.g., IF, IFELSE, ELSE).
Provide steps to validate-
1.Launch url Automatics (rdkcentral.com)
2.Navigate to build testcase page
3. Provide Valid test case id, select test type 'Functional', select devicemodel...etc and click on Next button, it will navigate to next page-build testcase page
4. select Add step and select conditional step
5. select IF/ELSEIF/ELSE condition from test type
Conditional option will create a condition step as shown below.
The fields are explained below,
1. Step No.:
Step number will be non editable text box.
2. Description:
User should enter the detailed description about the test step.
3. Test Type:
User should select the test type. The drop down contains IF, ELSE-IF and ELSE.
4. Input:
By clicking the settings icon in the Action filed, User will be navigated to Add Condition page as shown below.
* Operator: User should select the Operator type. The drop down contains AND and OR options.
* Invert Result: User should select the NOT check box to invert condition.
* Actual Value: Actual Value of the condition should be given in this field.
* Validation Type: User can select how the output of the command executed should be validated.
* Expected Value: Expected value of the condition should be given in this filed.
After entering all the details of the input condition, need to click on the plus icon. User can verify once whether all the details are valid and then click on the Save button. Now the command/test step detail is added.
Checkpoint is used for execution.
Main usage of checkpoint
using checkpoint, we can add looping via Conditional and Iterational
Conditional check point-
1. If user want to add a condition. For Eg (if, else if, else). They can select test type and create steps.
2. Iterational check point
If user want to add looping. For (e.g., loop, exit loop). User can select either loop or exit loop.
3. import check point
Import steps from check point as updated in import steps.
User should be able to add Test Script with Checkpoint
The fields are explained below,
1. Step No:
Step number will be a non-editable text box.
2. Description:
The user should enter a detailed description of the test step.
3. Expected Result:
User should enter expected result of the step.
4. Action:
This field is explained above under Step.
Import steps is used to import steps from existing testcase or user can import test steps from other testcase. User can import steps from other testcase by entering the testcase and clone the testcase steps. User will be able to edit those imported test steps as well.
Steps to import test steps-
1.Launch url Build Test Case (xcal.tv)
2.Navigate to build testcase page
3. Provide Valid test case id, select test type 'Functional', select device model...etc. and click on Next button, it will navigate to next page-build testcase page
4. Select Add step and select import steps option.
5. Select needs to select the check box to import testcase from 'selecting theselecting the' or 'This Testcase'.
User can import a test step from the same testcase by selecting the This Testcase option.
Click on Load Steps button and select the test steps which has to be imported.
Once after selecting the test steps, they will be cloned/imported into the test case.
Import test steps from other testcase-
User can import a test step from the other testcase by selecting the Other Testcases option.
Click on Load Steps button and select the test steps which has to be imported.
Once after selecting the test steps, they will be cloned/imported into the test case.
EDIT, CLONE& DELETE Test case.
For Editing the
Devices to be used in the Automatics System should be configured in DeviceManager. These devices are provided to Automatics Orchestration during test execution. Follow the below steps to add device details to the device manager database.
To Invoke API defined for Device Manager application using Swagger UI tool which is integrated with Device Manager application.
Steps to invoke an API on Swagger UI tool is available at Device Manager API Documentation#SwaggerUIUsage.
The steps for configuring connected clients is same as configuring standalone device as mentioned in section 1. Configure device details in Device Manager, except that it requires additional data like device login details etc to be included while adding the device.
For eg: For wifi clients, the extra properties should have following fields.
Wifi Clients
...
Property Required
...
Description
...
For Automatics to use devices from partner's inventory, device groups have to be configured. The device group name in inventory should be added here so that user can execute tests on devices within these groups only. Admin user can map device groups to users so that only those users mapped to device group can execute tests on device.
The steps for configuring connected clients is same as configuring standalone device except that it requires additional data like device login details etc.. to be included while adding the device.
Extra properties can be configured in 2 ways as shown below.
Eg: “username”:”root”
Device Manager UI User Manual#EditDeviceExtraProperties
Link to Build Test Utility : <Build Test Utility>
Build utility in automatics is creating the frequently used steps as utility. The same utility can be injected in to any other testcases.
For example, if 4 steps are used in common for multiple testcases then user can club those four steps into a build utility and then user can insert that utility into any other test cases.
The advantages of build utility are reuse and it decreases the effort for user to create the same steps again and again.
Build utility can be created in the same way as build test case.
User can create build utility by clicking Build Utility tab under settings a shown below,
Settings --> Build Utility
First user should create the repeated steps as utility as shown above.
Then user can add that utility as a step while creating the test case as shown below,
If user want to include the utility in test case below steps should be followed,
Build Test Case
Link to Build Test case : <Build Test case>
The build test case tab will be as shown below:
For Build test case the Test case Id should be unique and different, and Test Description should be correct way based on the Testcase ID. In Environment Type Field Select appropriate environment (for Eg. select RDKV for Video devices, RDKB for broadband devices and RDKC for Cameras and EXTENDER for Extender devices). Test type and Test Priority should be in the Unique way. Run on models needs to be mentioned like what are all the devices that are applicable for the Test case ID. For each test case id, we need to mention the models that needs to execute. User can verify once whether all the details are valid and then click on the Next button.
Then user will be navigated to Build your own Test case... page as shown below.
For Build our Own Test case
we need to add three steps ;
By clicking Add Step button, the User will get a drop-down as shown below.
All the options that are present in the drop-down are explained below,
Step name
Step No will be in non-editable one. Description should be clear based on the test step. User can select the Command Type based on each step. Based on the API's the methods will be applicable for each step.By clicking the settings icon in the Input filed, User will be navigated → Input Configuration page.
For command user needs to add the command inside the command field. User can select how the output of the command executed should be validated. Select all the device models to which the command will be applicable. The expected output of the command should be given in this field. If the selected execution mode of the test case is Connected Client, then user can select Device-Config and Clients. After entering all the details of the input command, we need to click → Add button. User can verify once whether all the details are valid and then click on the Submit button.Now command and Test step added successfully. If user wants to edit, user can click on edit button. If user want to change the declaration part, click on delete button. Once all the details are added click on the submit button.
By clicking external-link icon, User will get Additional Values window as shown below.
Iterational option will create a iteration step as shown below.
Step number will be non-editable text box. User should enter the detailed description about the test step. For Test Type should mention LOOP (or)
EXIT-LOOP. After click the settings icon in the Action filed, It will be automatically navigate to the Add Iteration or Duration page as shown below.
We need to provide either Iteration Count or Duration in Seconds and click -> Save button. Now the Command / Test step added successfully.
same as Iterational . In Test Type it contains IF, ELSE-IF and ELSE.
By clicking the settings icon in the Action filed, user will be navigated to Add Condition page as shown below.
User should select the Operator type. The drop-down list consists of AND & OR options. For Invert Result don't select the NOT check box to invert condition. Actual value of the condition should be given in this field. User can select how the output of the command executed should be validated. Expected value of the condition should be given in this filed. After entering all the details of the input condition, click on the plus icon. Verify once whether all the details are valid and added successfully click on the Save button. Command/test step details added successfully.
User can see all the available steps created in Test Step Generator page. By using Filter, we can find the added test step (Saved in a test step generator page).In all the available steps, we can select the required test step. After selecting the test steps, click '>'. Then user can see the required steps in Selected Steps column. After click on the Add Steps button. Now the steps will be added in our Build your own Test case... page. After creating/adding all the test steps, click Save button to save the changes and it will be added in Available test cases table.
EDIT,CLONE& DELETE Test case
For Editing the Testcase
For Editing the test case details, then click the pencil icon in Action column in Available test cases table. Then user can edit the entered details then click on Save button to save the changes or by clicking the Next button user can add/remove/edit test steps details and click Save button to save the changes.
...
Toclone or get a copy of a test case, then click the copy/clone icon in Action column in Available test cases table. Then user should provide a unique test case id, and user can edit the existing details and can add/remove/edit the test step details. By clicking the Save button, the cloned test case will be added in Available test cases table, and it will not change the existing test case.
...
By clicking the delete icon in Action column in Available test cases table, user can delete the test case.
...
Link
For Test Constants Delete Steps :<Test Constants>
Test constant here in automatics means the command or log file or any string that gets used more frequently is called as a test constant
We can declare the test constant once and can use the same in multiple places.
The main advantage of the test constant is it avoids the stabilization effort or test case developer can change the value at one place rather than spending effort on searching all the testcases that uses the string.
Also, whenever user changes any value of the test constant, it impacts all the testcases that are using that test constant.
So, while editing test constant one should be very careful as its impact might be huge
Test constant can be created through test constants page under settings tab. Settings → Test Constants
User should click on Add Constant button and add the constant name and constant value as shown below.
Constants name must be unique.
To add test constant in test case we need to use {{as the trigger. When user enters {{then all the test constants are listed under as shown below.
Test constants always starts with TC$ and user can select the test constant as per the requirement
Link for Manage Test Trigger :<Manage Test Trigger>
For Both RDKV & RDKB same job trigger page
For Select Service name default it will be Functional Verification if user wants he can select CI verification based on the requirement.Build name should be the same one that is available inside the box details. Endpoint should be either Desk box or Rack device. Partner Test is not the mandatory one.If we want we can select the box and add COMCAST. Test types needs to be selected based on the hours and days execution time. Environment type should be either RDKV,RDKB,RDKC.Is Quick Test required it will selected as a default one . We can disable that if we are not using QT .
Once all the details added successfully User will be navigate to the Following page.
In Automation ID user needs to select the Automation ID . Once the ID selected it will available inside Short-listed Automation Ids. Click on Next button. It will be navigated to the Trigger Execution manually.
For Mac address select check box E.g 00-xx-xx-xx-xx-xx and for good devices click on -> . . It will list the good devices. We can have Schedule trigger option also available, and the time needs to be mentioned. Device Group we can select based on the Automation ID. Build Appender and Notification mail will be mandatory. Source Repo needs to be mentioned based on the repo's available in the repository.Once all the details mentioned user Should click on the Trigger Job button. Once done Trigger will start successfully and via Job manager Tab.
The user can delete multiple steps at once in a test case. If the user wants to delete the all the steps inside Pre step, Step and Post step, then the user needs to click the check box that is positioned at the top of Pre step, Step and Post step. Additionally, the user can delete the individual step by selecting the respective test step by clicking its check box and clicking the Delete Steps button.
1. The user can select the check box to delete the steps.
2. After selecting the steps by clicking the check box user needs to click the Delete Steps button to delete the steps
User will be able to delete multiple steps in build utility page as well using the same feature.
Baseline Device Models
When user wants to add a new device model in an existing test case then the user can make use of Baseline Device Models feature. The user need to select two devices, one is the new device model that is not present in the existing test case and another one is the reference device model. The reference device model will act as an indicator in which the new device model will be added to the test steps where the reference model is present. This allows user to add the new device model to each step in the testcase.
Below are the steps to add a new device model to an existing script, where "ABC" is the new device model and "XYZ" is the existing device model:
1. Search any existing script.
2. Select "Baseline Device Models".
3. Add the following:
4. Select "Baseline" option. " --Device Model Name-- baselined successfully" message is shown.
5. Now user cancheck the "Run On Models" and "Applicable For" fields in the testcase. New device model should be added.
Download Steps
In the build test case page, the user can download the test steps from a particular test case. All the steps from the test case will be downloaded in an excel format.
By uploading the Test plan(.xlsx) file, user can create the Check point/Plain steps in Step builder page. This feature is available for build utility page as well.
Note: User should follow the specific template to create the test plan. For the reference, user can download the test plan template from the step builder page.
Link For Test Constants :<<Test Constants Configuration (rdkcentral.com)>>
Test constant here in automatics means the command or log file or any string that gets used more frequently is called as a test constant
We can declare the test constant once and can use the same in multiple places.
The main advantage of the test constant is it avoids the stabilization effort or test case developer can change the value at one place rather than spending effort on searching all the testcases that uses the string.
Also, whenever user changes any value of the test constant, it impacts all the testcases that are using that test constant.
So, while editing test constant one should be very careful as its impact might be huge
Test constant can be created through test constants page under settings tab. Settings → Test Constants
User should click on Add Constant button and add the constant name and constant value as shown below.
Constants name must be unique.
To add test constant in test case we need to use {{as the trigger. When user enters {{ then all the test constants are listed under as shown below.
Test constants always starts with TC$ and user can select the test constant as per the requirement.
Link to Manage Script page: <<Manage Script (rdkcentral.com)>>
For enabling, disabling, cloning and updating the testcase. We are using manage script page. User needs to create a testcase by click on this button .
Automation ID should be specific based on the feature. Build Type needs to be mentioned based on the builds that is applicable for the testcase. Test script type should be either java or python.
Test type based on timing run of the testcases. Summary should be on the testcase overview. Whether if face any impact while execution we need to mention inside the impact summary.
Environment type will be based on the device. User needs to select either RDKV or RDKB. End points will be whether Rack device or Desk device, User needs to select the applicable models of the
feature. Head End should be either HE1 or HE2. Once all fields added successfully.
Testcase added successfully.
We can enable, edit, clone, update details of the testcase using these buttons.
Link for Manage Test Trigger :<<Job Trigger (rdkcentral.com)>>
For Both RDKV & RDKB same job trigger page
For Select Service name default it will be Functional Verification if user wants, he can select CI verification based on the requirement. Build name should be the same one that is available inside the box details. Endpoint should be either Desk box or Rack device. Partner Test is not the mandatory one. If we want, we can select the box and add COMCAST. Test types needs to be selected based on the hours and days execution time. Environment type should be either RDKV, RDKB, RDKC.Is Quick Test required it will select as a default one. We can disable that if we are not using QT.
Once all the details added successfully User will be navigate to the Following page.
In Automation ID user needs to select the Automation ID . Once the ID selected it will available inside Short-listed Automation Ids. Click on Next button. It will be navigated to the Trigger Execution manually.
For Mac address select check box E.g 00-xx-xx-xx-xx-xx and for good devices click on -> . . It will list the good devices. We can have Schedule trigger option also available, and the time needs to be mentioned. Device Group we can select based on the Automation ID. Build Appender and Notification mail will be mandatory. Source Repo needs to be mentioned based on the repo's available in the repository. Once all the details mentioned user Should click on the Trigger Job button. Once done Trigger will start successfully and via Job manager Tab.
Job Manager
Link to Job manager page : <<Job Manager >>.
User once trigger the testcase can able to find the execution results by clicking this button Once testcase triggered successfully. Following image will be available.
User can find the full execution logs by clicking this button. . User can get the full execution logs and find out the pass and failure steps in detail.
By clicking this icon we can see the child Jobs name. After that click on this icon . Then Jenkins Execution logs will be available . We can verify pass and failures of all the steps.
We can import and export test cases and utilities in Automatics. This option is available once for users who are under admin role. In order to import or export a test case or utility, we need to map the device present in the test case and utility to its respective category. This can be done using the device category mapping page.
Device Category Mapping Page
In manage scripts page, the user with admin role will be able to view an option called Device Categorization. When we click on that option the Device Category Mapping page will open.
This page is used to view the existing mapping information of device models with the appropriate category name and map the device models with categories.
When we click on Add Device Category Mapping option, we can see the below option to add a new device category mapping by selecting the device name and device category.
When we click on Device Categorization option, we can see the device categories that are available and can add new device category.
When we click on Add New Category option, we can add new device category by providing the category name.
Export
In build test case page, select the check boxes across the test cases that has to be exported. Once the necessary check boxes are selected, click on the Export button. A JSON file will be downloaded which contains the test case JSON data. Similarly, we can export the utility in build utility page using the same steps.
Import
In build test case page, click on the Import button and select the respective JSON file which contains the test case JSON data that has to be imported. The test cases will be imported into Automatics. Please note that test case IDs should be unique. Similarly, we can import the utility in build utility page using the same steps.
Steps to validate the import/export feature for Build Utility Page-
Steps to validate the import/export feature for Build Testcase Page-
By clicking this icon we can see the child Jobs name . After that click on thsi icon .Then Jenkins Execution logs will be available . We can verify pass and failures of all the steps.