Following are the new pages added for scripless execution support in Orchestration.





API Explorer

Link to 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:

    •  Using Environment Type & API Category.
    •  Using Keywords.

 Using Environment Type & API Category

       Environment Type: Select appropriate environment (for E.g., select RDKV for Video devices, RDKB for broadband devices)

       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.

Build Utility

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.

Create Test Utility

              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

Steps to include Build Utility in Test cases.

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.

Build Test Case

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.

  • Add Pre-Step
  • Step
  • Add Post-Step
  • Delete 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

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

  • Iterational

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-

  • Launch app/url through browser
  • 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

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.  

  • Check Point

 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

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 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.

For Cloning the Testcase

 To clone 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.

For Delete Test Case

By clicking the delete icon in Action column in Available test cases table, user can delete the test case. 

For Delete Steps :

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:

  • Device To Baseline: User can select the new device model from the drop down
        For example :- Device To Baseline : ABC
  • Reference Model:  User can select the existing device model from the drop down.
        For example :- Reference Model : XYZ


4. Select "Baseline" option. " --Device Model Name-- baselined successfully" message is shown.


5. Now user can check 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.


Upload Test Plan

 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.

Test Constants

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

Create Test Constant

              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.

Steps to include Test Constants in Test cases

             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.


Manage Scripts

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.  

Manage Test Trigger

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. 

Import & Export of Test Cases and Utilities

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-

  • Login to Automatics and navigate to build utility page
  • Select testcase id from build utility page and click on Export button. Testcase should export with json format, and it should be available in downloads from Computer.


  • Click on import button and select testcase from computer (it should be in json format). Testcase should import successfully, and it should be available in build utility page.
  • When user try to import, the utility name should not be there in the database.
  • Display Name in the json format is the API name for each step. The API name should be present in the database.


  • If the import is successful, only test case name will be showed in the import Logfile.

                     


  • The device category data (applicable for) present in the json should have appropriate device models mapped to it. As shown in below, 


Steps to validate the import/export feature for Build Testcase Page-

  • Login to Automatics and navigate to build Testcase page.
  • Select testcase id from build testcase page and click on Export button. Testcase should export with json format, and it should be available in downloads from Computer.

  • Click on import button and select testcase from computer (it should be in json format). Testcase should import successfully, and it should be available in build testcase page.
  • When user try to import, the testcase name should not be there in the database.
  • Display Name in the json format is the API name for each step. The API name should be present in the database.


  • If the testcase import is successful, only test case name will be showed in the import Logfile.
  • The device category data (applicable for) present in the json should have appropriate device models mapped to it
  • When user import testcase, If the Api's present in the test case are not available in the database, it should display error msg as below screenshot.


Test Case Locking Mechanism

  • When a user tries to edit a test case, then the test case will be locked for an hour. No other user will be able to edit that particular test case for an hour simultaneously.
  • When a user is editing a test case and if he/she wishes to unlock a test case in order to make it available for other users to edit, then the user has to click on Close button in the step creation page.
  • When a user tries to edit a test case which is already being edited by some other user, then an error message will appear.


If a test case is locked by a user, it will be automatically unlocked after an hour.

User Group Bases Edit Access

  • A user will be able to edit a test case only if the user belongs to the user group of the particular test case.
  • All users under ADMIN user group will be able to edit all test cases.


  • For example, the above attached screenshot is a scriptless test case which has GUEST and AUTO_EXEC user groups. So according to this, users who belong to either GUEST or AUTO_EXEC user groups will have edit privilege. Also all users who belong to ADMIN user group will be able to edit the test case. Users who belong to other user groups will only be able to view the test case.



  • No labels