For more information, including FAQs and resources, please visit the link below:
RDKM-SSO
Any questions or comments please feel free to contact RDK Support team support@rdkcentral.com . Thank you. ***
In Automatics, test execution happens within Jenkins. Please follow below steps to create and configure Jenkins Job for test execution.
In General section
Build Parameter | Description |
---|---|
filterTestIds | Provides test script ids for execution in comma separated format |
filterTestType | Provides test type to which test scripts belongs to |
updateRdkPortal | If execution result to be updated to CI portal, then this will set to true, other wise false. |
settopList | Provides device mac addresses on which test to be executed in comma separated format. For non-qt tests, only one device can be provided for execution. For qt tests, multiple devices can be provided for execution. |
JMD_ID | Provides the Job Manager Id. This is for identifying each execution job in Orchestration |
BUILD_NAME | Provides RDK build name. For non-quick tests, it is expected that device is loaded with this build. And, for quick tests this is the build to be loaded in device as part of quick test. |
executionMode | Provides execution environment details. Some of the expected values are RDKV and RDKB |
gr | Provides the test repository name to be cloned for test execution. |
grb | Provides the test repository branch name to be cloned for test execution. |
end_point | Provides details on type of device used for testing. Valid values are RACK_DEVICE and DESK_BOX. If the device hardware can be managed via a rack system, then end point will be RACK_DEVICE, otherwise DESK_DEVICE |
Configuring shell script is required only if Partner Java API based project is implemented and that needs to be integrated with Automatics for test execution. Otherwise, this configuration can be skipped.
Before configuring this step in Jenkins, it is required that the Partner Java API project is developed and deployed in Partner's self hosted repository.
Copy the script file pre-test-config.sh and keep it in Jenkins VM. And configure it as shown below. Here, the script is copied to location /mnt/scripts in Jenkins VM.
The parameters to the script are
-g - Expects the group id of partner java api maven artifact.
-a - Expects the artifact id of partner java api maven artifact.
-v - Expects the version of partner java api maven artifact.
The Jenkins job will clone the test project and then will execute below script. This script will add partner java dependency to test project pom.xml at runtime. After this script is executed, maven goal for test execution will be executed.
Under Build section, please click on 'Add build step' and select option 'Shell Script'.
Goals | clean install -U exec:java -DskipTests=true -DretryByDefault=false -DbuildType=RDK -Dhttps.protocols=TLSv1.1,TLSv1.2 -Dsun.security.ssl.allowUnsafeRenegotiation=true -Dautomatics.properties.file={automatics_properties_base_url}/automatics.properties -Dproperties.file.token={Base 64 encrypted login id and password separated by colon } |
properties.file.token parameter is used to authenticate automatics properties. The token should be base 64 encrypted with login id and password separated by colon format.
example: admin:automatics when we encrypt it, the value will be YWRtaW46YXV0b21hdGljcw==
--add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.reflect=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.management/javax.management=ALL-UNNAMED --add-opens=java.desktop/sun.font=ALL-UNNAMED --add-opens=java.base/sun.reflect.generics.parser=ALL-UNNAMED --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED --add-opens=java.base/java.time.format=ALL-UNNAMED --add-exports=java.base/sun.util.calendar=ALL-UNNAMED --add-exports=java.base/sun.security.action=ALL-UNNAMED --add-exports=java.xml/jdk.xml.internal=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.lang.invoke=ALL-UNNAMED
Configure post build actions as shown below to view the execution logs and html reports.