From 678c280e8c2f38a237e4307619c120f5a811cfb4 Mon Sep 17 00:00:00 2001 From: Midhun2412 Date: Tue, 2 Jun 2026 22:34:13 +0530 Subject: [PATCH 1/4] BrowserTest AppManager Implementation --- .../RDKV_CERT_PVS_Browser_Animation_FPS.py | 128 +++++------------- 1 file changed, 35 insertions(+), 93 deletions(-) diff --git a/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Animation_FPS.py b/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Animation_FPS.py index 1c9b61f1c..c3c6a7b13 100644 --- a/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Animation_FPS.py +++ b/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Animation_FPS.py @@ -91,6 +91,7 @@ import rdkv_performancelib import BrowserPerformanceVariables from StabilityTestUtility import * +import json #Test component to be tested obj = tdklib.TDKScriptingLibrary("rdkv_performance","1",standAlone=True) @@ -115,111 +116,52 @@ expectedResult = "SUCCESS" if expectedResult in result.upper(): - browser_test_url=BrowserPerformanceVariables.animation_benchmark_test_url - print("\n Check Pre conditions") - sub_category_failure = False - #No need to revert any values if the pre conditions are already set. - revert="NO" - status,curr_webkit_status,curr_cobalt_status = check_pre_requisites(obj) - print("Current values \nWebKitBrowser:%s\nCobalt:%s"%(curr_webkit_status,curr_cobalt_status)) - if status == "FAILURE": - if "FAILURE" not in (curr_webkit_status,curr_cobalt_status): - #Need to revert the values since we are changing plugin status - revert="YES" - set_status = set_pre_requisites(obj) - if set_status == "SUCCESS": - status,webkit_status,cobalt_status = check_pre_requisites(obj) - else: - status = "FAILURE" - else: - status = "FAILURE" + app_bundle_name=BrowserPerformanceVariables.animation_app_bundle_name + app_download_url=BrowserPerformanceVariables.animation_app_download_url + app_name = "com.rdkcentral.animation" + + status = rdkservice_install_launch_app(obj, app_bundle_name, app_name, app_download_url) if status == "SUCCESS": - print("\nPre conditions for the test are set successfully") - print("\nGet the URL in WebKitBrowser") - tdkTestObj = obj.createTestStep('rdkservice_getValue') - tdkTestObj.addParameter("method","WebKitBrowser.1.url") + time.sleep(20) + tdkTestObj = obj.createTestStep('rdkservice_getBrowserScore_AnimationBenchmark') tdkTestObj.executeTestCase(expectedResult) - current_url = tdkTestObj.getResultDetails() + browser_score_dict = json.loads(tdkTestObj.getResultDetails()) result = tdkTestObj.getResult() - if current_url != None and expectedResult in result: - tdkTestObj.setResultStatus("SUCCESS") - print("Current URL:",current_url) - print("\nSet test URL") - - tdkTestObj = obj.createTestStep('rdkservice_setValue') - tdkTestObj.addParameter("method","WebKitBrowser.1.url") - tdkTestObj.addParameter("value",browser_test_url) - tdkTestObj.executeTestCase(expectedResult) - result = tdkTestObj.getResult() - if expectedResult in result: - time.sleep(10) - - print("\nValidate if the URL is set successfully or not") - tdkTestObj = obj.createTestStep('rdkservice_getValue') - tdkTestObj.addParameter("method","WebKitBrowser.1.url") - tdkTestObj.executeTestCase(expectedResult) - new_url = tdkTestObj.getResultDetails() - result = tdkTestObj.getResult() - if new_url == browser_test_url and expectedResult in result: - tdkTestObj.setResultStatus("SUCCESS") - print("URL(",new_url,") is set successfully") - - time.sleep(20) - tdkTestObj = obj.createTestStep('rdkservice_getBrowserScore_AnimationBenchmark') - tdkTestObj.executeTestCase(expectedResult) - browser_score_dict = json.loads(tdkTestObj.getResultDetails()) - result = tdkTestObj.getResult() - if browser_score_dict["main_score"] != "Unable to get the browser score" and expectedResult in result: - tdkTestObj.setResultStatus("SUCCESS"); - browser_score = browser_score_dict["main_score"] - conf_file,result = getConfigFileName(tdkTestObj.realpath) - result1, animation_threshold_value = getDeviceConfigKeyValue(conf_file,"ANIMATION_BENCHMARK_THRESHOLD_VALUE") - if animation_threshold_value != "": - print("\n Browser score from test: ",browser_score) - Summ_list.append('Browser score from test: {} '.format(browser_score)) - print("\n Threshold value for browser score:",animation_threshold_value) - Summ_list.append('Threshold value for browser score: {}'.format(animation_threshold_value)) - if float(browser_score) > float(animation_threshold_value): - print("\n The browser performance score is high as expected\n") - else: - tdkTestObj.setResultStatus("FAILURE") - print("\n The browser performance score is lower than expected \n") - else: - tdkTestObj.setResultStatus("FAILURE") - print("Failed to get the threshold value from config file") - else: - tdkTestObj.setResultStatus("FAILURE") - print("Failed to get the browser score") + if browser_score_dict["main_score"] != "Unable to get the browser score" and expectedResult in result: + tdkTestObj.setResultStatus("SUCCESS"); + browser_score = browser_score_dict["main_score"] + conf_file,result = getConfigFileName(tdkTestObj.realpath) + result1, animation_threshold_value = getDeviceConfigKeyValue(conf_file,"ANIMATION_BENCHMARK_THRESHOLD_VALUE") + if animation_threshold_value != "": + print("\n Browser score from test: ",browser_score) + Summ_list.append('Browser score from test: {} '.format(browser_score)) + print("\n Threshold value for browser score:",animation_threshold_value) + Summ_list.append('Threshold value for browser score: {}'.format(animation_threshold_value)) + if float(browser_score) > float(animation_threshold_value): + print("\n The browser performance score is high as expected\n") else: - print("Failed to load the URL",new_url) - tdkTestObj.setResultStatus("FAILURE") - #Set the URL back to previous - tdkTestObj = obj.createTestStep('rdkservice_setValue') - tdkTestObj.addParameter("method","WebKitBrowser.1.url") - tdkTestObj.addParameter("value",current_url) - tdkTestObj.executeTestCase(expectedResult) - result = tdkTestObj.getResult() - if result == "SUCCESS": - print("URL is reverted successfully") - tdkTestObj.setResultStatus("SUCCESS") - else: - print("Failed to revert the URL") tdkTestObj.setResultStatus("FAILURE") + print("\n The browser performance score is lower than expected \n") else: tdkTestObj.setResultStatus("FAILURE") - print("Failed to set URL to webkitbrowser") + print("Failed to get the threshold value from config file") else: tdkTestObj.setResultStatus("FAILURE") - print("Failed to get URL in webkitbrowser") + print("Failed to get the browser score") + print("\n Terminating the app") + tdkTestObj = obj.createTestStep('rdkv_terminate_app'); + tdkTestObj.addParameter("app_id",app_name) + tdkTestObj.executeTestCase(expectedResult) + result = tdkTestObj.getResult() + if result == "SUCCESS": + tdkTestObj.setResultStatus("SUCCESS"); + else: + tdkTestObj.setResultStatus("FAILURE"); + print("Unable to terminate the app") else: - print("Pre conditions are not met") - obj.setLoadModuleStatus("FAILURE") + print("Failed to launch the app") getSummary(Summ_list,obj) - #Revert the values - if revert=="YES": - print("Revert the values before exiting") - status = revert_value(curr_webkit_status,curr_cobalt_status,obj) obj.unloadModule("rdkv_performance") else: obj.setLoadModuleStatus("FAILURE") From 4f882c67d252b859e644d2c3782fbd0cb77c8a0e Mon Sep 17 00:00:00 2001 From: Midhun2412 Date: Tue, 2 Jun 2026 23:37:07 +0530 Subject: [PATCH 2/4] Updated RDKV_BrowserTest for AppManager --- .../fileStore/BrowserPerformanceVariables.py | 36 +- framework/fileStore/rdkv_performancelib.py | 379 +++++++++++++++++- .../RDKV_CERT_PVS_Browser_CSS3.py | 152 +++---- .../RDKV_CERT_PVS_Browser_Kraken.py | 128 ++---- .../RDKV_CERT_PVS_Browser_MotionMark.py | 143 ++----- .../RDKV_CERT_PVS_Browser_Octane.py | 150 +++---- .../RDKV_CERT_PVS_Browser_SmashCat.py | 127 ++---- .../RDKV_CERT_PVS_Browser_Speedometer.py | 142 ++----- 8 files changed, 646 insertions(+), 611 deletions(-) diff --git a/framework/fileStore/BrowserPerformanceVariables.py b/framework/fileStore/BrowserPerformanceVariables.py index 3c0bdc853..7f5da34c6 100644 --- a/framework/fileStore/BrowserPerformanceVariables.py +++ b/framework/fileStore/BrowserPerformanceVariables.py @@ -16,20 +16,38 @@ # See the License for the specific language governing permissions and # limitations under the License. ######################################################################### -css3_test_url="https://css3test.com/#css3-background" -css3_test_subcategory_list = ["Animations Level 1", "Backgrounds and Borders Level 3", "Backgrounds and Borders Level 4", "Basic User Interface Level 3", "Basic User Interface Level 4", "Box Alignment Level 3", "Cascading and Inheritance Level 3", "Cascading and Inheritance Level 4", "Compositing and Blending Level 1", "Custom Properties for Cascading Variables Level 1", "Filter Effects Level 1", "Flexible Box Layout Level 1", "Fonts Level 3", "Fonts Level 4", "Generated Content Level 3", "Grid Layout Level 1", "Grid Layout Level 2", "Grid Layout Level 3", "Images Level 3", "Lists Level 3", "Masking Level 1", "Media Queries Level 3", "Media Queries Level 4", "Media Queries Level 5", "Pointer Events Level 1", "Pointer Events Level 3", "Positioned Layout Level 3", "Ruby Layout Level 1", "Scroll Snap Level 1", "Shadow Parts", "Shapes Level 1", "SVG 2 Coordinate Systems, Transformations and Units", "SVG 2 Geometry Properties", "SVG 2 Paint Servers", "SVG 2 Painting", "SVG 2 Scripting and Interactivity", "SVG 2 Text", "Text Decoration Level 3", "Text Decoration Level 4", "Transforms Level 1", "Transforms Level 2", "Transitions", "Will Change Level 1"] -octane_test_url ="https://chromium.github.io/octane/?auto=1" + +strike_app_download_url = "" +strike_app_bundle_name = "" + +octane_app_download_url = "" +octane_app_bundle_name = "" octane_test_subcategory_list = ["Crypto","EarleyBoyer","Splay","SplayLatency","pdf.js","CodeLoad"] + +animation_app_download_url = "" +animation_app_bundle_name = "" + +kraken_app_download_url = "" +kraken_app_bundle_name = "" + +smashcat_app_download_url = "" +smashcat_app_bundle_name = "" + +motion_app_download_url = "" +motion_app_bundle_name = "" + +speed_app_download_url = "" +speed_app_bundle_name = "" + +css3_app_download_url = "" +css3_app_bundle_name = "" +css3_test_subcategory_list = ["Animations Level 1", "Backgrounds and Borders Level 3", "Backgrounds and Borders Level 4", "Basic User Interface Level 3", "Basic User Interface Level 4", "Box Alignment Level 3", "Cascading and Inheritance Level 3", "Cascading and Inheritance Level 4", "Compositing and Blending Level 1", "Custom Properties for Cascading Variables Level 1", "Filter Effects Level 1", "Flexible Box Layout Level 1", "Fonts Level 3", "Fonts Level 4", "Generated Content Level 3", "Grid Layout Level 1", "Grid Layout Level 2", "Grid Layout Level 3", "Images Level 3", "Lists Level 3", "Masking Level 1", "Media Queries Level 3", "Media Queries Level 4", "Media Queries Level 5", "Pointer Events Level 1", "Pointer Events Level 3", "Positioned Layout Level 3", "Ruby Layout Level 1", "Scroll Snap Level 1", "Shadow Parts", "Shapes Level 1", "SVG 2 Coordinate Systems, Transformations and Units", "SVG 2 Geometry Properties", "SVG 2 Paint Servers", "SVG 2 Painting", "SVG 2 Scripting and Interactivity", "SVG 2 Text", "Text Decoration Level 3", "Text Decoration Level 4", "Transforms Level 1", "Transforms Level 2", "Transitions", "Will Change Level 1"] + + html5_test_url ="https://html5test.com/" html5_test_subcategory_list = ["Parsing rules","Elements","Forms","Web Components","Location and Orientation","Communication","Streams","Performance","Security","Payments","Video","Audio","Streaming","Animation","Files"] sunspider_url = "https://webkit.org/perf/sunspider-1.0.2/sunspider-1.0.2/driver.html" sunspider_test_subcategory_list = ["access","bitops","3bit-bits-in-byte","bits-in-byte","bitwise-and","nsieve-bits","controlflow","recursive","crypto","math"] -strike_tool_url = "https://strike.lightningjs.io/" -motionmark_test_url = "https://browserbench.org/MotionMark1.2/" -animation_benchmark_test_url = "https://themaninblue.com/experiment/AnimationBenchmark/canvas/" -speedometer_test_url = "https://browserbench.org/Speedometer3.1/" -smashcat_test_url = "http://www.smashcat.org/av/canvas_test/" -kraken_test_url = "https://mozilla.github.io/krakenbenchmark.mozilla.org/kraken-1.1/driver.html" #https://askubuntu.com/questions/432255/what-is-the-display-environment-variable display_variable=":0" #Give the path where the chromedriver executable is available diff --git a/framework/fileStore/rdkv_performancelib.py b/framework/fileStore/rdkv_performancelib.py index 972044b53..f0d6e4486 100644 --- a/framework/fileStore/rdkv_performancelib.py +++ b/framework/fileStore/rdkv_performancelib.py @@ -80,6 +80,44 @@ def init_module(libobj,port,deviceInfo): print("\nException Occurred while getting MAC \n") print(e) +#------------------------------------------------------------------- +#GET THE WEBINSPECT PORT FROM THE DEVICE LOG VIA SSH +#------------------------------------------------------------------- +def get_webinspect_port(): + try: + # Get SSH parameters from configuration file + ssh_params = rdkservice_getSSHParams(libObj.realpath, deviceIP) + if ssh_params == "" or ssh_params == "{}": + raise Exception("Failed to get SSH parameters from configuration") + + ssh_params_dict = json.loads(ssh_params) + ssh_method = ssh_params_dict.get("ssh_method") + credentials = ssh_params_dict.get("credentials") + + if not ssh_method or not credentials: + raise Exception("SSH method or credentials not found in configuration") + + # Execute command on DUT to get inspector port from dacapp.log + cmd = "cat /opt/logs/dacapp.log | grep 'inspector port set to'" + output = rdkservice_getRequiredLog(ssh_method, credentials, cmd) + + if output == "EXCEPTION" or output == "": + raise Exception("Failed to retrieve log output from DUT") + + # Parse the port number from output + for line in output.splitlines(): + match = re.search(r'inspector port set to\s+(\d+)', line, re.IGNORECASE) + if match: + return match.group(1) + + # If no port found in output + raise Exception("Inspector port not found in dacapp.log output") + + except Exception as e: + print("Unable to get webinspect port from dacapp.log:", e) + raise + + #--------------------------------------------------------------- #POST CURL REQUEST USING PYTHON REQUESTS #--------------------------------------------------------------- @@ -343,7 +381,34 @@ def rdkservice_getBrowserScore_CSS3(): try: browser_score_dict = {} browser_subcategory_list = BrowserPerformanceVariables.css3_test_subcategory_list - webinspectURL = 'http://'+deviceIP+':'+BrowserPerformanceVariables.webinspect_port+'/Main.html?ws='+deviceIP+':'+BrowserPerformanceVariables.webinspect_port+'/socket/1/1/WebPage' + + # Get webinspect port with error handling + try: + webinspect_port = get_webinspect_port() + print("\nWebinspect port retrieved: ", webinspect_port) + except Exception as e: + print("\nFailed to retrieve webinspect port:", e) + browser_score_dict["main_score"] = "Unable to get the browser score" + browser_score_dict = json.dumps(browser_score_dict) + return browser_score_dict + + webinspectURL = 'http://'+deviceIP+':'+webinspect_port+'/Main.html?ws='+deviceIP+':'+webinspect_port+'/socket/1/1/WebPage' + print("\nWebinspect URL:", webinspectURL) + + # Test basic connectivity before opening browser + try: + print("\nTesting connection to webinspect server...") + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + sock.settimeout(5) + result = sock.connect_ex((deviceIP, int(webinspect_port))) + sock.close() + if result == 0: + print("Connection to webinspect server successful") + else: + print("Connection to webinspect server failed (code: %d)" % result) + except Exception as e: + print("Connection test error:", e) + driver = openChromeBrowser(webinspectURL); if driver != "EXCEPTION OCCURRED": time.sleep(10) @@ -386,7 +451,33 @@ def rdkservice_getBrowserScore_Octane(): try: browser_score_dict = {} browser_subcategory_list = BrowserPerformanceVariables.octane_test_subcategory_list - webinspectURL = 'http://'+deviceIP+':'+BrowserPerformanceVariables.webinspect_port+'/Main.html?ws='+deviceIP+':'+BrowserPerformanceVariables.webinspect_port+'/socket/1/1/WebPage' + # Get webinspect port with error handling + try: + webinspect_port = get_webinspect_port() + print("\nWebinspect port retrieved: ", webinspect_port) + except Exception as e: + print("\nFailed to retrieve webinspect port:", e) + browser_score_dict["main_score"] = "Unable to get the browser score" + browser_score_dict = json.dumps(browser_score_dict) + return browser_score_dict + + webinspectURL = 'http://'+deviceIP+':'+webinspect_port+'/Main.html?ws='+deviceIP+':'+webinspect_port+'/socket/1/1/WebPage' + print("\nWebinspect URL:", webinspectURL) + + # Test basic connectivity before opening browser + try: + print("\nTesting connection to webinspect server...") + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + sock.settimeout(5) + result = sock.connect_ex((deviceIP, int(webinspect_port))) + sock.close() + if result == 0: + print("Connection to webinspect server successful") + else: + print("Connection to webinspect server failed (code: %d)" % result) + except Exception as e: + print("Connection test error:", e) + driver = openChromeBrowser(webinspectURL); if driver != "EXCEPTION OCCURRED": time.sleep(10) @@ -478,8 +569,32 @@ def rdkservice_getBrowserScore_HTML5(): try: browser_score_dict = {} browser_subcategory_list = BrowserPerformanceVariables.html5_test_subcategory_list - webinspectURL = 'http://'+deviceIP+':'+BrowserPerformanceVariables.webinspect_port+'/Main.html?ws='+deviceIP+':'+BrowserPerformanceVariables.webinspect_port+'/socket/1/1/WebPage' - print("url:",webinspectURL) + # Get webinspect port with error handling + try: + webinspect_port = get_webinspect_port() + print("\nWebinspect port retrieved: ", webinspect_port) + except Exception as e: + print("\nFailed to retrieve webinspect port:", e) + browser_score_dict["main_score"] = "Unable to get the browser score" + browser_score_dict = json.dumps(browser_score_dict) + return browser_score_dict + + webinspectURL = 'http://'+deviceIP+':'+webinspect_port+'/Main.html?ws='+deviceIP+':'+webinspect_port+'/socket/1/1/WebPage' + print("\nWebinspect URL:", webinspectURL) + + # Test basic connectivity before opening browser + try: + print("\nTesting connection to webinspect server...") + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + sock.settimeout(5) + result = sock.connect_ex((deviceIP, int(webinspect_port))) + sock.close() + if result == 0: + print("Connection to webinspect server successful") + else: + print("Connection to webinspect server failed (code: %d)" % result) + except Exception as e: + print("Connection test error:", e) driver = openChromeBrowser(webinspectURL); if driver != "EXCEPTION OCCURRED": time.sleep(10) @@ -524,7 +639,32 @@ def rdkservice_getBrowserScore_SunSpider(): browser_score = '' browser_score_dict = {} browser_subcategory_list = BrowserPerformanceVariables.sunspider_test_subcategory_list - webinspectURL = 'http://'+deviceIP+':'+BrowserPerformanceVariables.webinspect_port+'/Main.html?ws='+deviceIP+':'+BrowserPerformanceVariables.webinspect_port+'/socket/1/1/WebPage' + # Get webinspect port with error handling + try: + webinspect_port = get_webinspect_port() + print("\nWebinspect port retrieved: ", webinspect_port) + except Exception as e: + print("\nFailed to retrieve webinspect port:", e) + browser_score_dict["main_score"] = "Unable to get the browser score" + browser_score_dict = json.dumps(browser_score_dict) + return browser_score_dict + + webinspectURL = 'http://'+deviceIP+':'+webinspect_port+'/Main.html?ws='+deviceIP+':'+webinspect_port+'/socket/1/1/WebPage' + print("\nWebinspect URL:", webinspectURL) + + # Test basic connectivity before opening browser + try: + print("\nTesting connection to webinspect server...") + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + sock.settimeout(5) + result = sock.connect_ex((deviceIP, int(webinspect_port))) + sock.close() + if result == 0: + print("Connection to webinspect server successful") + else: + print("Connection to webinspect server failed (code: %d)" % result) + except Exception as e: + print("Connection test error:", e) driver = openChromeBrowser(webinspectURL); if driver != "EXCEPTION OCCURRED": time.sleep(60) @@ -1100,7 +1240,33 @@ def rdkservice_getBrowserScore_AnimationBenchmark(): fps_list = [] try: browser_score_dict = {} - webinspectURL = 'http://'+deviceIP+':'+BrowserPerformanceVariables.webinspect_port+'/Main.html?ws='+deviceIP+':'+BrowserPerformanceVariables.webinspect_port+'/socket/1/1/WebPage' + # Get webinspect port with error handling + try: + webinspect_port = get_webinspect_port() + print("\nWebinspect port retrieved: ", webinspect_port) + except Exception as e: + print("\nFailed to retrieve webinspect port:", e) + browser_score_dict["main_score"] = "Unable to get the browser score" + browser_score_dict = json.dumps(browser_score_dict) + return browser_score_dict + + webinspectURL = 'http://'+deviceIP+':'+webinspect_port+'/Main.html?ws='+deviceIP+':'+webinspect_port+'/socket/1/1/WebPage' + print("\nWebinspect URL:", webinspectURL) + + # Test basic connectivity before opening browser + try: + print("\nTesting connection to webinspect server...") + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + sock.settimeout(5) + result = sock.connect_ex((deviceIP, int(webinspect_port))) + sock.close() + if result == 0: + print("Connection to webinspect server successful") + else: + print("Connection to webinspect server failed (code: %d)" % result) + except Exception as e: + print("Connection test error:", e) + driver = openChromeBrowser(webinspectURL); if driver != "EXCEPTION OCCURRED": time.sleep(20) @@ -1157,7 +1323,33 @@ def get_graphical_plugins(conf_file): def rdkservice_getBrowserScore_Speedometer(): try: browser_score_dict = {} - webinspectURL = 'http://'+deviceIP+':'+BrowserPerformanceVariables.webinspect_port+'/Main.html?ws='+deviceIP+':'+BrowserPerformanceVariables.webinspect_port+'/socket/1/1/WebPage' + # Get webinspect port with error handling + try: + webinspect_port = get_webinspect_port() + print("\nWebinspect port retrieved: ", webinspect_port) + except Exception as e: + print("\nFailed to retrieve webinspect port:", e) + browser_score_dict["main_score"] = "Unable to get the browser score" + browser_score_dict = json.dumps(browser_score_dict) + return browser_score_dict + + webinspectURL = 'http://'+deviceIP+':'+webinspect_port+'/Main.html?ws='+deviceIP+':'+webinspect_port+'/socket/1/1/WebPage' + print("\nWebinspect URL:", webinspectURL) + + # Test basic connectivity before opening browser + try: + print("\nTesting connection to webinspect server...") + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + sock.settimeout(5) + result = sock.connect_ex((deviceIP, int(webinspect_port))) + sock.close() + if result == 0: + print("Connection to webinspect server successful") + else: + print("Connection to webinspect server failed (code: %d)" % result) + except Exception as e: + print("Connection test error:", e) + driver = openChromeBrowser(webinspectURL); if driver != "EXCEPTION OCCURRED": time.sleep(10) @@ -1183,7 +1375,33 @@ def rdkservice_getBrowserScore_Speedometer(): def rdkservice_getBrowserScore_MotionMark(): try: browser_score_dict = {} - webinspectURL = 'http://'+deviceIP+':'+BrowserPerformanceVariables.webinspect_port+'/Main.html?ws='+deviceIP+':'+BrowserPerformanceVariables.webinspect_port+'/socket/1/1/WebPage' + # Get webinspect port with error handling + try: + webinspect_port = get_webinspect_port() + print("\nWebinspect port retrieved: ", webinspect_port) + except Exception as e: + print("\nFailed to retrieve webinspect port:", e) + browser_score_dict["main_score"] = "Unable to get the browser score" + browser_score_dict = json.dumps(browser_score_dict) + return browser_score_dict + + webinspectURL = 'http://'+deviceIP+':'+webinspect_port+'/Main.html?ws='+deviceIP+':'+webinspect_port+'/socket/1/1/WebPage' + print("\nWebinspect URL:", webinspectURL) + + # Test basic connectivity before opening browser + try: + print("\nTesting connection to webinspect server...") + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + sock.settimeout(5) + result = sock.connect_ex((deviceIP, int(webinspect_port))) + sock.close() + if result == 0: + print("Connection to webinspect server successful") + else: + print("Connection to webinspect server failed (code: %d)" % result) + except Exception as e: + print("Connection test error:", e) + driver = openChromeBrowser(webinspectURL); if driver != "EXCEPTION OCCURRED": time.sleep(10) @@ -1216,7 +1434,33 @@ def rdkservice_getBrowserScore_MotionMark(): def rdkservice_getBrowserScore_Smashcat(): try: browser_score_dict = {} - webinspectURL = 'http://'+deviceIP+':'+BrowserPerformanceVariables.webinspect_port+'/Main.html?ws='+deviceIP+':'+BrowserPerformanceVariables.webinspect_port+'/socket/1/1/WebPage' + # Get webinspect port with error handling + try: + webinspect_port = get_webinspect_port() + print("\nWebinspect port retrieved: ", webinspect_port) + except Exception as e: + print("\nFailed to retrieve webinspect port:", e) + browser_score_dict["main_score"] = "Unable to get the browser score" + browser_score_dict = json.dumps(browser_score_dict) + return browser_score_dict + + webinspectURL = 'http://'+deviceIP+':'+webinspect_port+'/Main.html?ws='+deviceIP+':'+webinspect_port+'/socket/1/1/WebPage' + print("\nWebinspect URL:", webinspectURL) + + # Test basic connectivity before opening browser + try: + print("\nTesting connection to webinspect server...") + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + sock.settimeout(5) + result = sock.connect_ex((deviceIP, int(webinspect_port))) + sock.close() + if result == 0: + print("Connection to webinspect server successful") + else: + print("Connection to webinspect server failed (code: %d)" % result) + except Exception as e: + print("Connection test error:", e) + driver = openChromeBrowser(webinspectURL); if driver != "EXCEPTION OCCURRED": time.sleep(10) @@ -1256,7 +1500,32 @@ def rdkservice_getBrowserScore_Smashcat(): def rdkservice_getBrowserScore_Kraken(): try: browser_score_dict = {} - webinspectURL = 'http://'+deviceIP+':'+BrowserPerformanceVariables.webinspect_port+'/Main.html?ws='+deviceIP+':'+BrowserPerformanceVariables.webinspect_port+'/socket/1/1/WebPage' + # Get webinspect port with error handling + try: + webinspect_port = get_webinspect_port() + print("\nWebinspect port retrieved: ", webinspect_port) + except Exception as e: + print("\nFailed to retrieve webinspect port:", e) + browser_score_dict["main_score"] = "Unable to get the browser score" + browser_score_dict = json.dumps(browser_score_dict) + return browser_score_dict + + webinspectURL = 'http://'+deviceIP+':'+webinspect_port+'/Main.html?ws='+deviceIP+':'+webinspect_port+'/socket/1/1/WebPage' + print("\nWebinspect URL:", webinspectURL) + + # Test basic connectivity before opening browser + try: + print("\nTesting connection to webinspect server...") + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + sock.settimeout(5) + result = sock.connect_ex((deviceIP, int(webinspect_port))) + sock.close() + if result == 0: + print("Connection to webinspect server successful") + else: + print("Connection to webinspect server failed (code: %d)" % result) + except Exception as e: + print("Connection test error:", e) driver = openChromeBrowser(webinspectURL); if driver != "EXCEPTION OCCURRED": time.sleep(10) @@ -1980,3 +2249,93 @@ def setPS_value(video_test_url): except Exception as e: print("Failed to set the PersistentStore value: ", e) return None + +#----------------------------------------------------------------------------------------- +#TO PRESS KEYS IN UI USING APP MANAGER +#----------------------------------------------------------------------------------------- +def browsertest_keypress(obj,app_name,keys): + if len(keys) >1: + key_navigate = keys[0] + key_select = keys[1] + else: + key_navigate = keys + + result="FAILURE" + param='[' + index=0 + expectedResult= "SUCCESS" + print(f"Getting the app instance id of {app_name}") + tdkTestObj = obj.createTestStep('rdkservice_getValue') + tdkTestObj.addParameter("method","org.rdk.AppManager.getLoadedApps") + tdkTestObj.executeTestCase(expectedResult) + result = tdkTestObj.getResultDetails() + status = tdkTestObj.getResult() + if status == expectedResult and app_name in result: + appinstanceid="" + result = ast.literal_eval(result) + for item in result: + if isinstance(item, dict) and item.get("appId") == app_name: + appinstanceid = item.get("appInstanceId") + if appinstanceid != "": + print("####App instance id of the launched app is: ", appinstanceid) + for key in key_navigate: + if ":" in key: + param = param + '{\\"keyCode\\": ' + key + ',\\"modifiers\\": ['+ key.split(":")[0] +'],\\"delay\\":0.1}' + else: + param = param + '{\\"keyCode\\": ' + key + ',\\"modifiers\\": [],\\"delay\\":0.1}' + if index != (len(key_navigate)-1): + param = param + ',' + else: + param = param + ']' + index +=1 + + params = '{"client":' + appinstanceid + ',"keys":"{\\"keys\\":'+ param + '}"' + + + tdkTestObj = obj.createTestStep('rdkservice_setValue') + tdkTestObj.addParameter("method","org.rdk.RDKWindowManager.generateKey") + tdkTestObj.addParameter("value",params) + tdkTestObj.executeTestCase(expectedResult) + result = tdkTestObj.getResult() + if expectedResult in result: + tdkTestObj.setResultStatus("SUCCESS") + print("SUCCESS: Navigated through UI and started the test") + result = "SUCCESS" + time.sleep(3) + if key_select !=[]: + param='[' + index=0 + for key in key_select: + if ":" in key: + param = param + '{\\"keyCode\\": ' + key + ',\\"modifiers\\": ['+ key.split(":")[0] +'],\\"delay\\":0.1}' + else: + param = param + '{\\"keyCode\\": ' + key + ',\\"modifiers\\": [],\\"delay\\":0.1}' + if index != (len(key_select)-1): + param = param + ',' + else: + param = param + ']' + index +=1 + params = '{"client":' + appinstanceid + ',"keys":"{\\"keys\\":'+ param + '}"' + tdkTestObj = obj.createTestStep('rdkservice_setValue') + tdkTestObj.addParameter("method","org.rdk.RDKWindowManager.generateKey") + tdkTestObj.addParameter("value",params) + tdkTestObj.executeTestCase(expectedResult) + result = tdkTestObj.getResult() + if expectedResult in result: + tdkTestObj.setResultStatus("SUCCESS") + print("SUCCESS: Navigated through UI and started the test") + result = "SUCCESS" + else: + tdkTestObj.setResultStatus("FAILURE") + print("FAILURE : Failed to navigate through UI") + else: + tdkTestObj.setResultStatus("FAILURE") + print("FAILURE : Failed to start the test by navigating through UI") + else: + print("Failed to get appinstanceId") + tdkTestObj.setResultStatus("FAILURE") + else: + print("Failed to get the loaded apps") + tdkTestObj.setResultStatus("FAILURE") + return result + \ No newline at end of file diff --git a/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_CSS3.py b/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_CSS3.py index 2730fcea6..632c5d42e 100644 --- a/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_CSS3.py +++ b/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_CSS3.py @@ -74,6 +74,7 @@ import rdkv_performancelib import BrowserPerformanceVariables from StabilityTestUtility import * +import json #Test component to be tested obj = tdklib.TDKScriptingLibrary("rdkv_performance","1",standAlone=True); @@ -97,125 +98,66 @@ expectedResult = "SUCCESS" if expectedResult in result.upper(): - browser_test_url=BrowserPerformanceVariables.css3_test_url; + app_bundle_name=BrowserPerformanceVariables.css3_app_bundle_name + app_download_url=BrowserPerformanceVariables.css3_app_download_url browser_subcategory_list = BrowserPerformanceVariables.css3_test_subcategory_list - print("Check Pre conditions") - sub_category_failure = False - #No need to revert any values if the pre conditions are already set. - revert="NO" - status,curr_webkit_status,curr_cobalt_status = check_pre_requisites(obj) - print("Current values \nWebKitBrowser:%s\nCobalt:%s"%(curr_webkit_status,curr_cobalt_status)); - if status == "FAILURE": - if "FAILURE" not in (curr_webkit_status,curr_cobalt_status): - #Need to revert the values since we are changing plugin status - revert="YES" - set_status = set_pre_requisites(obj) - if set_status == "SUCCESS": - status,webkit_status,cobalt_status = check_pre_requisites(obj) - else: - status = "FAILURE"; - else: - status = "FAILURE"; + app_name = "com.rdkcentral.css3" + status = rdkservice_install_launch_app(obj, app_bundle_name, app_name, app_download_url) if status == "SUCCESS": - print("\nPre conditions for the test are set successfully"); - print("\nGet the URL in WebKitBrowser") - tdkTestObj = obj.createTestStep('rdkservice_getValue'); - tdkTestObj.addParameter("method","WebKitBrowser.1.url"); + + time.sleep(20) + tdkTestObj = obj.createTestStep('rdkservice_getBrowserScore_CSS3'); tdkTestObj.executeTestCase(expectedResult); - current_url = tdkTestObj.getResultDetails(); - result = tdkTestObj.getResult(); - if current_url != None and expectedResult in result: + browser_score_dict = json.loads(tdkTestObj.getResultDetails()); + result = tdkTestObj.getResult() + if browser_score_dict["main_score"] != "Unable to get the browser score" and expectedResult in result: tdkTestObj.setResultStatus("SUCCESS"); - print("Current URL:",current_url) - print("\nSet CSS3 test URL") - - tdkTestObj = obj.createTestStep('rdkservice_setValue'); - tdkTestObj.addParameter("method","WebKitBrowser.1.url"); - tdkTestObj.addParameter("value",browser_test_url); - tdkTestObj.executeTestCase(expectedResult); - result = tdkTestObj.getResult(); - if expectedResult in result: - time.sleep(10) - - print("\nValidate if the URL is set successfully or not") - tdkTestObj = obj.createTestStep('rdkservice_getValue'); - tdkTestObj.addParameter("method","WebKitBrowser.1.url"); - tdkTestObj.executeTestCase(expectedResult); - new_url = tdkTestObj.getResultDetails(); - result = tdkTestObj.getResult() - if new_url == browser_test_url and expectedResult in result: - tdkTestObj.setResultStatus("SUCCESS"); - print("URL(",new_url,") is set successfully") - - time.sleep(20) - tdkTestObj = obj.createTestStep('rdkservice_getBrowserScore_CSS3'); - tdkTestObj.executeTestCase(expectedResult); - browser_score_dict = json.loads(tdkTestObj.getResultDetails()); - result = tdkTestObj.getResult() - if browser_score_dict["main_score"] != "Unable to get the browser score" and expectedResult in result: - tdkTestObj.setResultStatus("SUCCESS"); - browser_score = browser_score_dict["main_score"] - conf_file,result = getConfigFileName(tdkTestObj.realpath) - result1, css3_threshold_value = getDeviceConfigKeyValue(conf_file,"CSS3_THRESHOLD_VALUE") - result2, css3_subcategory_threshold_values = getDeviceConfigKeyValue(conf_file,"CSS3_SUBCATEGORY_THRESHOLD_VALUES") - if all(value != "" for value in (css3_threshold_value,css3_subcategory_threshold_values)): - print("\n Threshold value for browser performance main score: ",css3_threshold_value) - Summ_list.append('Threshold value for browser performance main score:{} '.format(css3_threshold_value)) - Summ_list.append('Browser score from test: {} '.format(browser_score)) - if int(browser_score) > int(css3_threshold_value): - print("\n The browser performance main score is high as expected\n") - subcategory_threshold_value_list = css3_subcategory_threshold_values.split(',') - for index,subcategory in enumerate(browser_subcategory_list): - if subcategory in browser_score_dict: - if int(browser_score_dict[subcategory]) < int(subcategory_threshold_value_list[index]): - print("\n Subcategory {} score:{} is less than the threshold value:{} \n".format(subcategory,browser_score_dict[subcategory],subcategory_threshold_value_list[index])) - tdkTestObj.setResultStatus("FAILURE") - sub_category_failure = True - if not sub_category_failure: - tdkTestObj.setResultStatus("SUCCESS") - print("\n The subcategory scores of {} are also as high as expected \n".format(browser_subcategory_list)) - else: - tdkTestObj.setResultStatus("FAILURE") - print("\n The overall browser performance is lower than expected \n") - else: - tdkTestObj.setResultStatus("FAILURE"); - print("\n The browser performance main score is lower than expected \n") - else: - tdkTestObj.setResultStatus("FAILURE"); - print("Failed to get the threshold value from config file") + browser_score = browser_score_dict["main_score"] + conf_file,result = getConfigFileName(tdkTestObj.realpath) + result1, css3_threshold_value = getDeviceConfigKeyValue(conf_file,"CSS3_THRESHOLD_VALUE") + result2, css3_subcategory_threshold_values = getDeviceConfigKeyValue(conf_file,"CSS3_SUBCATEGORY_THRESHOLD_VALUES") + if all(value != "" for value in (css3_threshold_value,css3_subcategory_threshold_values)): + print("\n Threshold value for browser performance main score: ",css3_threshold_value) + Summ_list.append('Threshold value for browser performance main score:{} '.format(css3_threshold_value)) + Summ_list.append('Browser score from test: {} '.format(browser_score)) + if int(browser_score) > int(css3_threshold_value): + print("\n The browser performance main score is high as expected\n") + subcategory_threshold_value_list = css3_subcategory_threshold_values.split(',') + for index,subcategory in enumerate(browser_subcategory_list): + if subcategory in browser_score_dict: + if int(browser_score_dict[subcategory]) < int(subcategory_threshold_value_list[index]): + print("\n Subcategory {} score:{} is less than the threshold value:{} \n".format(subcategory,browser_score_dict[subcategory],subcategory_threshold_value_list[index])) + tdkTestObj.setResultStatus("FAILURE") + sub_category_failure = True + if not sub_category_failure: + tdkTestObj.setResultStatus("SUCCESS") + print("\n The subcategory scores of {} are also as high as expected \n".format(browser_subcategory_list)) else: - tdkTestObj.setResultStatus("FAILURE"); - print("Failed to get the browser score") + tdkTestObj.setResultStatus("FAILURE") + print("\n The overall browser performance is lower than expected \n") else: - print("Failed to load the URL",new_url) - tdkTestObj.setResultStatus("FAILURE"); - #Set the URL back to previous - tdkTestObj = obj.createTestStep('rdkservice_setValue'); - tdkTestObj.addParameter("method","WebKitBrowser.1.url"); - tdkTestObj.addParameter("value",current_url); - tdkTestObj.executeTestCase(expectedResult); - result = tdkTestObj.getResult(); - if result == "SUCCESS": - print("URL is reverted successfully") - tdkTestObj.setResultStatus("SUCCESS"); - else: - print("Failed to revert the URL") tdkTestObj.setResultStatus("FAILURE"); + print("\n The browser performance main score is lower than expected \n") else: tdkTestObj.setResultStatus("FAILURE"); - print("Failed to set URL to webkitbrowser") + print("Failed to get the threshold value from config file") + else: + tdkTestObj.setResultStatus("FAILURE"); + print("Failed to get the browser score") + print("\n Terminating the app") + tdkTestObj = obj.createTestStep('rdkv_terminate_app'); + tdkTestObj.addParameter("app_id",app_name) + tdkTestObj.executeTestCase(expectedResult) + result = tdkTestObj.getResult() + if result == "SUCCESS": + tdkTestObj.setResultStatus("SUCCESS"); else: tdkTestObj.setResultStatus("FAILURE"); - print("Failed to get URL in webkitbrowser") + print("Unable to terminate the app") else: - print("Pre conditions are not met") - obj.setLoadModuleStatus("FAILURE"); + print("Failed to launch the app") getSummary(Summ_list,obj) - #Revert the values - if revert=="YES": - print("Revert the values before exiting") - status = revert_value(curr_webkit_status,curr_cobalt_status,obj); obj.unloadModule("rdkv_performance"); else: obj.setLoadModuleStatus("FAILURE"); diff --git a/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Kraken.py b/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Kraken.py index 72f650b5e..631c4365c 100644 --- a/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Kraken.py +++ b/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Kraken.py @@ -90,6 +90,7 @@ import rdkv_performancelib import BrowserPerformanceVariables from StabilityTestUtility import * +import json #Test component to be tested obj = tdklib.TDKScriptingLibrary("rdkv_performance","1",standAlone=True); @@ -115,108 +116,53 @@ expectedResult = "SUCCESS" if expectedResult in result.upper(): - browser_test_url=BrowserPerformanceVariables.kraken_test_url - print("\n Check Pre conditions") - #No need to revert any values if the pre conditions are already set. - revert="NO" - status,curr_webkit_status,curr_cobalt_status = check_pre_requisites(obj) - print("Current values \nWebKitBrowser:%s\nCobalt:%s"%(curr_webkit_status,curr_cobalt_status)) - if status == "FAILURE": - if "FAILURE" not in (curr_webkit_status,curr_cobalt_status): - #Need to revert the values since we are changing plugin status - revert="YES" - set_status = set_pre_requisites(obj) - if set_status == "SUCCESS": - status,webkit_status,cobalt_status = check_pre_requisites(obj) - else: - status = "FAILURE" - else: - status = "FAILURE" + app_bundle_name=BrowserPerformanceVariables.kraken_app_bundle_name + app_download_url=BrowserPerformanceVariables.kraken_app_download_url + app_name = "com.rdkcentral.kraken" + + status = rdkservice_install_launch_app(obj, app_bundle_name, app_name, app_download_url) if status == "SUCCESS": - print("\nPre conditions for the test are set successfully") - print("\nGet the URL in WebKitBrowser") - tdkTestObj = obj.createTestStep('rdkservice_getValue') - tdkTestObj.addParameter("method","WebKitBrowser.1.url") + time.sleep(900) + tdkTestObj = obj.createTestStep('rdkservice_getBrowserScore_Kraken') tdkTestObj.executeTestCase(expectedResult) - current_url = tdkTestObj.getResultDetails() + browser_score_dict = json.loads(tdkTestObj.getResultDetails()) result = tdkTestObj.getResult() - if current_url != None and expectedResult in result: - tdkTestObj.setResultStatus("SUCCESS") - print("Current URL:",current_url) - print("\nSet test URL") - tdkTestObj = obj.createTestStep('rdkservice_setValue') - tdkTestObj.addParameter("method","WebKitBrowser.1.url") - tdkTestObj.addParameter("value",browser_test_url) - tdkTestObj.executeTestCase(expectedResult) - result = tdkTestObj.getResult() - if expectedResult in result: - tdkTestObj.setResultStatus("SUCCESS") - time.sleep(10) - print("\nValidate if the URL is set successfully or not") - tdkTestObj = obj.createTestStep('rdkservice_getValue') - tdkTestObj.addParameter("method","WebKitBrowser.1.url") - tdkTestObj.executeTestCase(expectedResult) - new_url = tdkTestObj.getResultDetails() - result = tdkTestObj.getResult() - if new_url == browser_test_url and expectedResult in result: - tdkTestObj.setResultStatus("SUCCESS") - print("URL(",new_url,") is set successfully") - tdkTestObj.setResultStatus("SUCCESS") - time.sleep(900) - tdkTestObj = obj.createTestStep('rdkservice_getBrowserScore_Kraken') - tdkTestObj.executeTestCase(expectedResult) - browser_score_dict = json.loads(tdkTestObj.getResultDetails()) - result = tdkTestObj.getResult() - if browser_score_dict["main_score"] != "Unable to get the browser score" and expectedResult in result: - tdkTestObj.setResultStatus("SUCCESS"); - browser_score = browser_score_dict["main_score"] - conf_file,result = getConfigFileName(tdkTestObj.realpath) - result1, kraken_threshold_value = getDeviceConfigKeyValue(conf_file,"KRAKEN_THRESHOLD_VALUE") - if kraken_threshold_value != "": - print("\n Browser score from test: ",browser_score) - Summ_list.append('Browser score from test: {} '.format(browser_score)) - print("\n Threshold value for browser score:",kraken_threshold_value) - Summ_list.append('Threshold value for browser score: {}'.format(kraken_threshold_value)) - if 0 < float(browser_score) < float(kraken_threshold_value): - print("\n The browser performance score is low as expected\n") - else: - tdkTestObj.setResultStatus("FAILURE") - print("\n The browser performance score is higher than expected \n") - else: - tdkTestObj.setResultStatus("FAILURE") - print("Failed to get the threshold value from config file") - else: - tdkTestObj.setResultStatus("FAILURE") - print("Failed to get the browser score") - else: - print("Failed to load the URL",new_url) - tdkTestObj.setResultStatus("FAILURE") - #Set the URL back to previous - tdkTestObj = obj.createTestStep('rdkservice_setValue') - tdkTestObj.addParameter("method","WebKitBrowser.1.url") - tdkTestObj.addParameter("value",current_url) - tdkTestObj.executeTestCase(expectedResult) - result = tdkTestObj.getResult() - if result == "SUCCESS": - print("URL is reverted successfully") - tdkTestObj.setResultStatus("SUCCESS") + if browser_score_dict["main_score"] != "Unable to get the browser score" and expectedResult in result: + tdkTestObj.setResultStatus("SUCCESS"); + browser_score = browser_score_dict["main_score"] + conf_file,result = getConfigFileName(tdkTestObj.realpath) + result1, kraken_threshold_value = getDeviceConfigKeyValue(conf_file,"KRAKEN_THRESHOLD_VALUE") + if kraken_threshold_value != "": + print("\n Browser score from test: ",browser_score) + Summ_list.append('Browser score from test: {} '.format(browser_score)) + print("\n Threshold value for browser score:",kraken_threshold_value) + Summ_list.append('Threshold value for browser score: {}'.format(kraken_threshold_value)) + if 0 < float(browser_score) < float(kraken_threshold_value): + print("\n The browser performance score is low as expected\n") else: - print("Failed to revert the URL") tdkTestObj.setResultStatus("FAILURE") + print("\n The browser performance score is higher than expected \n") else: tdkTestObj.setResultStatus("FAILURE") - print("Failed to set URL to webkitbrowser") + print("Failed to get the threshold value from config file") else: tdkTestObj.setResultStatus("FAILURE") - print("Failed to get URL in webkitbrowser") + print("Failed to get the browser score") + + print("\n Terminating the app") + tdkTestObj = obj.createTestStep('rdkv_terminate_app'); + tdkTestObj.addParameter("app_id",app_name) + tdkTestObj.executeTestCase(expectedResult) + result = tdkTestObj.getResult() + if result == "SUCCESS": + tdkTestObj.setResultStatus("SUCCESS"); + else: + tdkTestObj.setResultStatus("FAILURE"); + print("Unable to terminate the app") else: - print("Pre conditions are not met") - obj.setLoadModuleStatus("FAILURE") + print("Failed to launch the app") + getSummary(Summ_list,obj) - #Revert the values - if revert=="YES": - print("Revert the values before exiting") - status = revert_value(curr_webkit_status,curr_cobalt_status,obj) obj.unloadModule("rdkv_performance") else: obj.setLoadModuleStatus("FAILURE") diff --git a/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_MotionMark.py b/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_MotionMark.py index 8c4aa27a8..004250bfc 100644 --- a/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_MotionMark.py +++ b/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_MotionMark.py @@ -90,6 +90,7 @@ import rdkv_performancelib import BrowserPerformanceVariables from StabilityTestUtility import * +import json #Test component to be tested obj = tdklib.TDKScriptingLibrary("rdkv_performance","1",standAlone=True) @@ -114,120 +115,58 @@ expectedResult = "SUCCESS" if expectedResult in result.upper(): - browser_test_url=BrowserPerformanceVariables.motionmark_test_url - print("\n Check Pre conditions") - #No need to revert any values if the pre conditions are already set. - revert="NO" - status,curr_webkit_status,curr_cobalt_status = check_pre_requisites(obj) - print("Current values \nWebKitBrowser:%s\nCobalt:%s"%(curr_webkit_status,curr_cobalt_status)) - if status == "FAILURE": - if "FAILURE" not in (curr_webkit_status,curr_cobalt_status): - #Need to revert the values since we are changing plugin status - revert="YES" - set_status = set_pre_requisites(obj) - if set_status == "SUCCESS": - status,webkit_status,cobalt_status = check_pre_requisites(obj) - else: - status = "FAILURE" - else: - status = "FAILURE" - if status == "SUCCESS": - print("\nPre conditions for the test are set successfully") - print("\nGet the URL in WebKitBrowser") - tdkTestObj = obj.createTestStep('rdkservice_getValue') - tdkTestObj.addParameter("method","WebKitBrowser.1.url") - tdkTestObj.executeTestCase(expectedResult) - current_url = tdkTestObj.getResultDetails() - result = tdkTestObj.getResult() - if current_url != None and expectedResult in result: - tdkTestObj.setResultStatus("SUCCESS") - print("Current URL:",current_url) - print("\nSet test URL") + app_bundle_name=BrowserPerformanceVariables.motion_app_bundle_name + app_download_url=BrowserPerformanceVariables.motion_app_download_url + sub_category_failure = False - tdkTestObj = obj.createTestStep('rdkservice_setValue') - tdkTestObj.addParameter("method","WebKitBrowser.1.url") - tdkTestObj.addParameter("value",browser_test_url) + app_name = "com.rdkcentral.motion" + status = rdkservice_install_launch_app(obj, app_bundle_name, app_name, app_download_url) + if status == "SUCCESS": + result = browsertest_keypress(obj,app_name,[["9","13"],[]]) + if result == expectedResult: + time.sleep(420) + tdkTestObj = obj.createTestStep('rdkservice_getBrowserScore_MotionMark') tdkTestObj.executeTestCase(expectedResult) + browser_score_dict = json.loads(tdkTestObj.getResultDetails()) result = tdkTestObj.getResult() - if expectedResult in result: - tdkTestObj.setResultStatus("SUCCESS") - time.sleep(10) - print("\nValidate if the URL is set successfully or not") - tdkTestObj = obj.createTestStep('rdkservice_getValue') - tdkTestObj.addParameter("method","WebKitBrowser.1.url") - tdkTestObj.executeTestCase(expectedResult) - new_url = tdkTestObj.getResultDetails() - result = tdkTestObj.getResult() - if new_url == browser_test_url and expectedResult in result: - tdkTestObj.setResultStatus("SUCCESS") - print("URL(",new_url,") is set successfully") - time.sleep(10) - params = '{"keys":[{"keyCode": 9,"modifiers": [],"delay":1.0,"callsign":"WebKitBrowser","client":"WebKitBrowser"},{"keyCode": 9,"modifiers": [],"delay":1.0,"callsign":"WebKitBrowser","client":"WebKitBrowser"},{"keyCode": 13,"modifiers": [],"delay":1.0,"callsign":"WebKitBrowser","client":"WebKitBrowser"}]}' - tdkTestObj = obj.createTestStep('rdkservice_setValue') - tdkTestObj.addParameter("method","org.rdk.RDKShell.1.generateKey") - tdkTestObj.addParameter("value",params) - tdkTestObj.executeTestCase(expectedResult) - result = tdkTestObj.getResult() - if expectedResult in result: - tdkTestObj.setResultStatus("SUCCESS") - time.sleep(420) - tdkTestObj = obj.createTestStep('rdkservice_getBrowserScore_MotionMark') - tdkTestObj.executeTestCase(expectedResult) - browser_score_dict = json.loads(tdkTestObj.getResultDetails()) - result = tdkTestObj.getResult() - if browser_score_dict["main_score"] != "Unable to get the browser score" and expectedResult in result: - tdkTestObj.setResultStatus("SUCCESS"); - browser_score = browser_score_dict["main_score"] - conf_file,result = getConfigFileName(tdkTestObj.realpath) - result1, motionmark_threshold_value = getDeviceConfigKeyValue(conf_file,"MOTIONMARK_THRESHOLD_VALUE") - if motionmark_threshold_value != "": - print("\n Browser score from test: ",browser_score) - Summ_list.append('Browser score from test: {} '.format(browser_score)) - print("\n Threshold value for browser score:",motionmark_threshold_value) - Summ_list.append('Threshold value for browser score: {}'.format(motionmark_threshold_value)) - if float(browser_score) > float(motionmark_threshold_value): - print("\n The browser performance score is high as expected\n") - else: - tdkTestObj.setResultStatus("FAILURE") - print("\n The browser performance score is lower than expected \n") - else: - tdkTestObj.setResultStatus("FAILURE") - print("Failed to get the threshold value from config file") - else: - tdkTestObj.setResultStatus("FAILURE") - print("Failed to get the browser score") + if browser_score_dict["main_score"] != "Unable to get the browser score" and expectedResult in result: + tdkTestObj.setResultStatus("SUCCESS"); + browser_score = browser_score_dict["main_score"] + conf_file,result = getConfigFileName(tdkTestObj.realpath) + result1, motionmark_threshold_value = getDeviceConfigKeyValue(conf_file,"MOTIONMARK_THRESHOLD_VALUE") + if motionmark_threshold_value != "": + print("\n Browser score from test: ",browser_score) + Summ_list.append('Browser score from test: {} '.format(browser_score)) + print("\n Threshold value for browser score:",motionmark_threshold_value) + Summ_list.append('Threshold value for browser score: {}'.format(motionmark_threshold_value)) + if float(browser_score) > float(motionmark_threshold_value): + print("\n The browser performance score is high as expected\n") else: tdkTestObj.setResultStatus("FAILURE") - print("\n Error while executing generate key method") - else: - print("Failed to load the URL",new_url) - tdkTestObj.setResultStatus("FAILURE") - #Set the URL back to previous - tdkTestObj = obj.createTestStep('rdkservice_setValue') - tdkTestObj.addParameter("method","WebKitBrowser.1.url") - tdkTestObj.addParameter("value",current_url) - tdkTestObj.executeTestCase(expectedResult) - result = tdkTestObj.getResult() - if result == "SUCCESS": - print("URL is reverted successfully") - tdkTestObj.setResultStatus("SUCCESS") + print("\n The browser performance score is lower than expected \n") else: - print("Failed to revert the URL") tdkTestObj.setResultStatus("FAILURE") + print("Failed to get the threshold value from config file") else: tdkTestObj.setResultStatus("FAILURE") - print("Failed to set URL to webkitbrowser") + print("Failed to get the browser score") else: - tdkTestObj.setResultStatus("FAILURE") - print("Failed to get URL in webkitbrowser") + print("\n Error while executing generate key method") + + print("\n Terminating the app") + tdkTestObj = obj.createTestStep('rdkv_terminate_app'); + tdkTestObj.addParameter("app_id",app_name) + tdkTestObj.executeTestCase(expectedResult) + result = tdkTestObj.getResult() + if result == "SUCCESS": + tdkTestObj.setResultStatus("SUCCESS"); + else: + tdkTestObj.setResultStatus("FAILURE"); + print("Unable to terminate the app") else: - print("Pre conditions are not met") - obj.setLoadModuleStatus("FAILURE") + print("Failed to launch the app") + getSummary(Summ_list,obj) - #Revert the values - if revert=="YES": - print("Revert the values before exiting") - status = revert_value(curr_webkit_status,curr_cobalt_status,obj) obj.unloadModule("rdkv_performance") else: obj.setLoadModuleStatus("FAILURE") diff --git a/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Octane.py b/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Octane.py index aa40200cc..2f74425d3 100644 --- a/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Octane.py +++ b/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Octane.py @@ -92,121 +92,69 @@ obj.setLoadModuleStatus(result); expectedResult = "SUCCESS" if expectedResult in result.upper(): - browser_test_url=BrowserPerformanceVariables.octane_test_url; + app_bundle_name=BrowserPerformanceVariables.app_bundle_name + app_download_url=BrowserPerformanceVariables.app_download_url browser_subcategory_list = BrowserPerformanceVariables.octane_test_subcategory_list sub_category_failure = False - print("Check Pre conditions") - #No need to revert any values if the pre conditions are already set. - revert="NO" - status,curr_webkit_status,curr_cobalt_status = check_pre_requisites(obj) - print("Current values \nWebKitBrowser:%s\nCobalt:%s"%(curr_webkit_status,curr_cobalt_status)); - if status == "FAILURE": - if "FAILURE" not in (curr_webkit_status,curr_cobalt_status): - set_status = set_pre_requisites(obj) - #Need to revert the values since we are changing plugin status - revert="YES" - if set_status == "SUCCESS": - status,webkit_status,cobalt_status = check_pre_requisites(obj) - else: - status = "FAILURE"; + app_name = "com.rdkcentral.octane" + status = rdkservice_install_launch_app(obj, app_bundle_name, app_name, app_download_url) if status == "SUCCESS": - print("\nPre conditions for the test are set successfully"); - print("\nGet the URL in WebKitBrowser") - tdkTestObj = obj.createTestStep('rdkservice_getValue'); - tdkTestObj.addParameter("method","WebKitBrowser.1.url"); + time.sleep(300) + tdkTestObj = obj.createTestStep('rdkservice_getBrowserScore_Octane'); tdkTestObj.executeTestCase(expectedResult); - current_url = tdkTestObj.getResultDetails(); - result = tdkTestObj.getResult(); - if current_url != None and expectedResult in result: + browser_score_dict = json.loads(tdkTestObj.getResultDetails()); + result = tdkTestObj.getResult() + if browser_score_dict["main_score"] != "Unable to get the browser score" and expectedResult in result: tdkTestObj.setResultStatus("SUCCESS"); - print("Current URL:",current_url) - print("\nSet Octane test URL") - tdkTestObj = obj.createTestStep('rdkservice_setValue'); - tdkTestObj.addParameter("method","WebKitBrowser.1.url"); - tdkTestObj.addParameter("value",browser_test_url); - tdkTestObj.executeTestCase(expectedResult); - result = tdkTestObj.getResult(); - if expectedResult in result: - time.sleep(10) - print("\nValidate if the URL is set successfully or not") - tdkTestObj = obj.createTestStep('rdkservice_getValue'); - tdkTestObj.addParameter("method","WebKitBrowser.1.url"); - tdkTestObj.executeTestCase(expectedResult); - new_url = tdkTestObj.getResultDetails(); - result = tdkTestObj.getResult() - if new_url == browser_test_url and expectedResult in result: - tdkTestObj.setResultStatus("SUCCESS"); - print("URL(",new_url,") is set successfully") - time.sleep(300) - tdkTestObj = obj.createTestStep('rdkservice_getBrowserScore_Octane'); - tdkTestObj.executeTestCase(expectedResult); - browser_score_dict = json.loads(tdkTestObj.getResultDetails()); - result = tdkTestObj.getResult() - if browser_score_dict["main_score"] != "Unable to get the browser score" and expectedResult in result: - tdkTestObj.setResultStatus("SUCCESS"); - browser_score = browser_score_dict["main_score"].replace("Octane Score: ",""); - conf_file,result = getConfigFileName(tdkTestObj.realpath) - result1, octane_threshold_value = getDeviceConfigKeyValue(conf_file,"OCTANE_THRESHOLD_VALUE") - result2, octane_subcategory_threshold_values = getDeviceConfigKeyValue(conf_file,"OCTANE_SUBCATEGORY_THRESHOLD_VALUES") - if all(value != "" for value in (octane_threshold_value,octane_subcategory_threshold_values)): - print("\n Threshold value for browser performance main score: ",octane_threshold_value) - Summ_list.append('Threshold value for browser performance main score:{} '.format(octane_threshold_value)) - Summ_list.append('Browser score from test: {} '.format(browser_score)) - if int(browser_score) > int(octane_threshold_value): - print("\n The browser performance main score is high as expected \n") - subcategory_threshold_value_list = octane_subcategory_threshold_values.split(',') - for index,subcategory in enumerate(browser_subcategory_list): - if int(browser_score_dict[subcategory]) < int(subcategory_threshold_value_list[index]): - print("\n Subcategory {} score:{} is less than the threshold value:{} \n".format(subcategory,browser_score_dict[subcategory],subcategory_threshold_value_list[index])) - tdkTestObj.setResultStatus("FAILURE") - sub_category_failure = True - if not sub_category_failure: - tdkTestObj.setResultStatus("SUCCESS") - print("\n The subcategory scores of {} are also as high as expected\n".format(browser_subcategory_list)) - else: - tdkTestObj.setResultStatus("FAILURE") - print("\n The overall browser performance is lower than expected \n") - else: - tdkTestObj.setResultStatus("FAILURE"); - print("\n The browser performance is lower than expected \n") - else: - tdkTestObj.setResultStatus("FAILURE"); - print("Failed to get the threshold value from config file") - elif "Running Octane" in browser_score_dict["main_score"]: - tdkTestObj.setResultStatus("FAILURE"); - print("Octane test is not completed") + browser_score = browser_score_dict["main_score"].replace("Octane Score: ",""); + conf_file,result = getConfigFileName(tdkTestObj.realpath) + result1, octane_threshold_value = getDeviceConfigKeyValue(conf_file,"OCTANE_THRESHOLD_VALUE") + result2, octane_subcategory_threshold_values = getDeviceConfigKeyValue(conf_file,"OCTANE_SUBCATEGORY_THRESHOLD_VALUES") + if all(value != "" for value in (octane_threshold_value,octane_subcategory_threshold_values)): + print("\n Threshold value for browser performance main score: ",octane_threshold_value) + Summ_list.append('Threshold value for browser performance main score:{} '.format(octane_threshold_value)) + Summ_list.append('Browser score from test: {} '.format(browser_score)) + if int(browser_score) > int(octane_threshold_value): + print("\n The browser performance main score is high as expected \n") + subcategory_threshold_value_list = octane_subcategory_threshold_values.split(',') + for index,subcategory in enumerate(browser_subcategory_list): + if int(browser_score_dict[subcategory]) < int(subcategory_threshold_value_list[index]): + print("\n Subcategory {} score:{} is less than the threshold value:{} \n".format(subcategory,browser_score_dict[subcategory],subcategory_threshold_value_list[index])) + tdkTestObj.setResultStatus("FAILURE") + sub_category_failure = True + if not sub_category_failure: + tdkTestObj.setResultStatus("SUCCESS") + print("\n The subcategory scores of {} are also as high as expected\n".format(browser_subcategory_list)) else: - tdkTestObj.setResultStatus("FAILURE"); - print("Failed to get the browser score") - else: - print("Failed to load the URL",new_url) - tdkTestObj.setResultStatus("FAILURE"); - #Set the URL back to previous - tdkTestObj = obj.createTestStep('rdkservice_setValue'); - tdkTestObj.addParameter("method","WebKitBrowser.1.url"); - tdkTestObj.addParameter("value",current_url); - tdkTestObj.executeTestCase(expectedResult); - result = tdkTestObj.getResult(); - if result == "SUCCESS": - print("URL is reverted successfully") - tdkTestObj.setResultStatus("SUCCESS"); + tdkTestObj.setResultStatus("FAILURE") + print("\n The overall browser performance is lower than expected \n") else: - print("Failed to revert the URL") tdkTestObj.setResultStatus("FAILURE"); + print("\n The browser performance is lower than expected \n") else: tdkTestObj.setResultStatus("FAILURE"); - print("Failed to set URL") + print("Failed to get the threshold value from config file") + elif "Running Octane" in browser_score_dict["main_score"]: + tdkTestObj.setResultStatus("FAILURE"); + print("Octane test is not completed") + else: + tdkTestObj.setResultStatus("FAILURE"); + print("Failed to get the browser score") + + print("\n Terminating the app") + tdkTestObj = obj.createTestStep('rdkv_terminate_app'); + tdkTestObj.addParameter("app_id",app_name) + tdkTestObj.executeTestCase(expectedResult) + result = tdkTestObj.getResult() + if result == "SUCCESS": + tdkTestObj.setResultStatus("SUCCESS"); else: tdkTestObj.setResultStatus("FAILURE"); - print("Failed to get URL in webkitbrowser") + print("Unable to terminate the app") else: - print("Pre conditions are not met") - obj.setLoadModuleStatus("FAILURE"); + print("Failed to launch the app") + getSummary(Summ_list,obj) - #Revert the values - if revert=="YES": - print("Revert the values before exiting") - status = revert_value(curr_webkit_status,curr_cobalt_status,obj); obj.unloadModule("rdkv_performance"); else: obj.setLoadModuleStatus("FAILURE"); diff --git a/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_SmashCat.py b/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_SmashCat.py index ceccafe90..fe3f7287b 100644 --- a/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_SmashCat.py +++ b/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_SmashCat.py @@ -85,6 +85,7 @@ import rdkv_performancelib import BrowserPerformanceVariables from StabilityTestUtility import * +import json #Test component to be tested obj = tdklib.TDKScriptingLibrary("rdkv_performance","1",standAlone=True); @@ -109,108 +110,52 @@ expectedResult = "SUCCESS" if expectedResult in result.upper(): - browser_test_url=BrowserPerformanceVariables.smashcat_test_url - print("\n Check Pre conditions") - #No need to revert any values if the pre conditions are already set. - revert="NO" - status,curr_webkit_status,curr_cobalt_status = check_pre_requisites(obj) - print("Current values \nWebKitBrowser:%s\nCobalt:%s"%(curr_webkit_status,curr_cobalt_status)) - if status == "FAILURE": - if "FAILURE" not in (curr_webkit_status,curr_cobalt_status): - #Need to revert the values since we are changing plugin status - revert="YES" - set_status = set_pre_requisites(obj) - if set_status == "SUCCESS": - status,webkit_status,cobalt_status = check_pre_requisites(obj) - else: - status = "FAILURE" - else: - status = "FAILURE" + app_bundle_name=BrowserPerformanceVariables.smashcat_app_bundle_name + app_download_url=BrowserPerformanceVariables.smashcat_app_download_url + sub_category_failure = False + app_name = "com.rdkcentral.smashcat" + status = rdkservice_install_launch_app(obj, app_bundle_name, app_name, app_download_url) if status == "SUCCESS": - print("\nPre conditions for the test are set successfully") - print("\nGet the URL in WebKitBrowser") - tdkTestObj = obj.createTestStep('rdkservice_getValue') - tdkTestObj.addParameter("method","WebKitBrowser.1.url") + time.sleep(10) + tdkTestObj = obj.createTestStep('rdkservice_getBrowserScore_Smashcat') tdkTestObj.executeTestCase(expectedResult) - current_url = tdkTestObj.getResultDetails() + browser_score_dict = json.loads(tdkTestObj.getResultDetails()) result = tdkTestObj.getResult() - if current_url != None and expectedResult in result: - tdkTestObj.setResultStatus("SUCCESS") - print("Current URL:",current_url) - print("\nSet test URL") - tdkTestObj = obj.createTestStep('rdkservice_setValue') - tdkTestObj.addParameter("method","WebKitBrowser.1.url") - tdkTestObj.addParameter("value",browser_test_url) - tdkTestObj.executeTestCase(expectedResult) - result = tdkTestObj.getResult() - if expectedResult in result: - tdkTestObj.setResultStatus("SUCCESS") - time.sleep(10) - print("\nValidate if the URL is set successfully or not") - tdkTestObj = obj.createTestStep('rdkservice_getValue') - tdkTestObj.addParameter("method","WebKitBrowser.1.url") - tdkTestObj.executeTestCase(expectedResult) - new_url = tdkTestObj.getResultDetails() - result = tdkTestObj.getResult() - if new_url == browser_test_url and expectedResult in result: - tdkTestObj.setResultStatus("SUCCESS") - print("URL(",new_url,") is set successfully") - tdkTestObj.setResultStatus("SUCCESS") - time.sleep(10) - tdkTestObj = obj.createTestStep('rdkservice_getBrowserScore_Smashcat') - tdkTestObj.executeTestCase(expectedResult) - browser_score_dict = json.loads(tdkTestObj.getResultDetails()) - result = tdkTestObj.getResult() - if browser_score_dict["main_score"] != "Unable to get the browser score" and expectedResult in result: - tdkTestObj.setResultStatus("SUCCESS"); - browser_score = browser_score_dict["main_score"] - conf_file,result = getConfigFileName(tdkTestObj.realpath) - result1,smashcat_threshold_value = getDeviceConfigKeyValue(conf_file,"SMASHCAT_THRESHOLD_VALUE") - if smashcat_threshold_value != "": - print("\n Browser score from test: ",browser_score) - Summ_list.append('Browser score from test: {} '.format(browser_score)) - print("\n Threshold value for browser score:",smashcat_threshold_value) - Summ_list.append('Threshold value for browser score: {}'.format(smashcat_threshold_value)) - if float(browser_score) > float(smashcat_threshold_value): - print("\n The browser performance score is high as expected\n") - else: - tdkTestObj.setResultStatus("FAILURE") - print("\n The browser performance score is lower than expected \n") - else: - tdkTestObj.setResultStatus("FAILURE") - print("Failed to get the threshold value from config file") - else: - tdkTestObj.setResultStatus("FAILURE") - print("Failed to get the browser score") - else: - print("Failed to load the URL",new_url) - tdkTestObj.setResultStatus("FAILURE") - #Set the URL back to previous - tdkTestObj = obj.createTestStep('rdkservice_setValue') - tdkTestObj.addParameter("method","WebKitBrowser.1.url") - tdkTestObj.addParameter("value",current_url) - tdkTestObj.executeTestCase(expectedResult) - result = tdkTestObj.getResult() - if result == "SUCCESS": - print("URL is reverted successfully") - tdkTestObj.setResultStatus("SUCCESS") + if browser_score_dict["main_score"] != "Unable to get the browser score" and expectedResult in result: + tdkTestObj.setResultStatus("SUCCESS"); + browser_score = browser_score_dict["main_score"] + conf_file,result = getConfigFileName(tdkTestObj.realpath) + result1,smashcat_threshold_value = getDeviceConfigKeyValue(conf_file,"SMASHCAT_THRESHOLD_VALUE") + if smashcat_threshold_value != "": + print("\n Browser score from test: ",browser_score) + Summ_list.append('Browser score from test: {} '.format(browser_score)) + print("\n Threshold value for browser score:",smashcat_threshold_value) + Summ_list.append('Threshold value for browser score: {}'.format(smashcat_threshold_value)) + if float(browser_score) > float(smashcat_threshold_value): + print("\n The browser performance score is high as expected\n") else: - print("Failed to revert the URL") tdkTestObj.setResultStatus("FAILURE") + print("\n The browser performance score is lower than expected \n") else: tdkTestObj.setResultStatus("FAILURE") - print("Failed to set URL to webkitbrowser") + print("Failed to get the threshold value from config file") else: tdkTestObj.setResultStatus("FAILURE") - print("Failed to get URL in webkitbrowser") + print("Failed to get the browser score") + print("\n Terminating the app") + tdkTestObj = obj.createTestStep('rdkv_terminate_app'); + tdkTestObj.addParameter("app_id",app_name) + tdkTestObj.executeTestCase(expectedResult) + result = tdkTestObj.getResult() + if result == "SUCCESS": + tdkTestObj.setResultStatus("SUCCESS"); + else: + tdkTestObj.setResultStatus("FAILURE"); + print("Unable to terminate the app") else: - print("Pre conditions are not met") - obj.setLoadModuleStatus("FAILURE") + print("Failed to launch the app") + getSummary(Summ_list,obj) - #Revert the values - if revert=="YES": - print("Revert the values before exiting") - status = revert_value(curr_webkit_status,curr_cobalt_status,obj) obj.unloadModule("rdkv_performance") else: obj.setLoadModuleStatus("FAILURE") diff --git a/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Speedometer.py b/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Speedometer.py index d84c1baeb..1e3abb48f 100644 --- a/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Speedometer.py +++ b/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Speedometer.py @@ -91,6 +91,7 @@ import rdkv_performancelib import BrowserPerformanceVariables from StabilityTestUtility import * +import json #Test component to be tested obj = tdklib.TDKScriptingLibrary("rdkv_performance","1",standAlone=True) @@ -114,119 +115,56 @@ expectedResult = "SUCCESS" if expectedResult in result.upper(): - browser_test_url=BrowserPerformanceVariables.speedometer_test_url - print("\n Check Pre conditions") - #No need to revert any values if the pre conditions are already set. - revert="NO" - status,curr_webkit_status,curr_cobalt_status = check_pre_requisites(obj) - print("Current values \nWebKitBrowser:%s\nCobalt:%s"%(curr_webkit_status,curr_cobalt_status)) - if status == "FAILURE": - if "FAILURE" not in (curr_webkit_status,curr_cobalt_status): - #Need to revert the values since we are changing plugin status - revert="YES" - set_status = set_pre_requisites(obj) - if set_status == "SUCCESS": - status,webkit_status,cobalt_status = check_pre_requisites(obj) - else: - status = "FAILURE" - else: - status = "FAILURE" - if status == "SUCCESS": - print("\nPre conditions for the test are set successfully") - print("\nGet the URL in WebKitBrowser") - tdkTestObj = obj.createTestStep('rdkservice_getValue') - tdkTestObj.addParameter("method","WebKitBrowser.1.url") - tdkTestObj.executeTestCase(expectedResult) - current_url = tdkTestObj.getResultDetails() - result = tdkTestObj.getResult() - if current_url != None and expectedResult in result: - tdkTestObj.setResultStatus("SUCCESS") - print("Current URL:",current_url) - print("\nSet test URL") - - tdkTestObj = obj.createTestStep('rdkservice_setValue') - tdkTestObj.addParameter("method","WebKitBrowser.1.url") - tdkTestObj.addParameter("value",browser_test_url) + app_bundle_name=BrowserPerformanceVariables.speed_app_bundle_name + app_download_url=BrowserPerformanceVariables.speed_app_download_url + app_name = "com.rdkcentral.speed" + status = rdkservice_install_launch_app(obj, app_bundle_name, app_name, app_download_url) + if status == "SUCCESS": + result = browsertest_keypress(obj,app_name,[["9","13"],[]]) + if result == expectedResult: + time.sleep(2000) + tdkTestObj = obj.createTestStep('rdkservice_getBrowserScore_Speedometer') tdkTestObj.executeTestCase(expectedResult) + browser_score_dict = json.loads(tdkTestObj.getResultDetails()) result = tdkTestObj.getResult() - if expectedResult in result: - tdkTestObj.setResultStatus("SUCCESS") - time.sleep(10) - print("\nValidate if the URL is set successfully or not") - tdkTestObj = obj.createTestStep('rdkservice_getValue') - tdkTestObj.addParameter("method","WebKitBrowser.1.url") - tdkTestObj.executeTestCase(expectedResult) - new_url = tdkTestObj.getResultDetails() - result = tdkTestObj.getResult() - if new_url == browser_test_url and expectedResult in result: - tdkTestObj.setResultStatus("SUCCESS") - print("URL(",new_url,") is set successfully") - params = '{"keys":[{"keyCode": 9,"modifiers": [],"delay":1.0},{"keyCode": 9,"modifiers": [],"delay":1.0},{"keyCode": 13,"modifiers": [],"delay":1.0}]}' - tdkTestObj = obj.createTestStep('rdkservice_setValue') - tdkTestObj.addParameter("method","org.rdk.RDKShell.1.generateKey") - tdkTestObj.addParameter("value",params) - tdkTestObj.executeTestCase(expectedResult) - result = tdkTestObj.getResult() - if expectedResult in result: - tdkTestObj.setResultStatus("SUCCESS") - time.sleep(2000) - tdkTestObj = obj.createTestStep('rdkservice_getBrowserScore_Speedometer') - tdkTestObj.executeTestCase(expectedResult) - browser_score_dict = json.loads(tdkTestObj.getResultDetails()) - result = tdkTestObj.getResult() - if browser_score_dict["main_score"] != "Unable to get the browser score" and expectedResult in result: - tdkTestObj.setResultStatus("SUCCESS"); - browser_score = browser_score_dict["main_score"] - conf_file,result = getConfigFileName(tdkTestObj.realpath) - result1, speedometer_threshold_value = getDeviceConfigKeyValue(conf_file,"SPEEDOMETER_THRESHOLD_VALUE") - if speedometer_threshold_value != "": - print("\n Browser score from test: ",browser_score) - Summ_list.append('Browser score from test is :{}'.format(browser_score)) - print("\n Threshold value for browser score:",speedometer_threshold_value) - Summ_list.append('Threshold value for browser score: {}'.format(speedometer_threshold_value)) - if float(browser_score) > float(speedometer_threshold_value): - print("\n The browser performance score is high as expected\n") - else: - tdkTestObj.setResultStatus("FAILURE") - print("\n The browser performance score is lower than expected \n") - else: - tdkTestObj.setResultStatus("FAILURE") - print("Failed to get the threshold value from config file") - else: - tdkTestObj.setResultStatus("FAILURE") - print("Failed to get the browser score") + if browser_score_dict["main_score"] != "Unable to get the browser score" and expectedResult in result: + tdkTestObj.setResultStatus("SUCCESS"); + browser_score = browser_score_dict["main_score"] + conf_file,result = getConfigFileName(tdkTestObj.realpath) + result1, speedometer_threshold_value = getDeviceConfigKeyValue(conf_file,"SPEEDOMETER_THRESHOLD_VALUE") + if speedometer_threshold_value != "": + print("\n Browser score from test: ",browser_score) + Summ_list.append('Browser score from test is :{}'.format(browser_score)) + print("\n Threshold value for browser score:",speedometer_threshold_value) + Summ_list.append('Threshold value for browser score: {}'.format(speedometer_threshold_value)) + if float(browser_score) > float(speedometer_threshold_value): + print("\n The browser performance score is high as expected\n") else: tdkTestObj.setResultStatus("FAILURE") - print("\n Error while executing generate key method") + print("\n The browser performance score is lower than expected \n") else: - print("Failed to load the URL",new_url) - tdkTestObj.setResultStatus("FAILURE") - #Set the URL back to previous - tdkTestObj = obj.createTestStep('rdkservice_setValue') - tdkTestObj.addParameter("method","WebKitBrowser.1.url") - tdkTestObj.addParameter("value",current_url) - tdkTestObj.executeTestCase(expectedResult) - result = tdkTestObj.getResult() - if result == "SUCCESS": - print("URL is reverted successfully") - tdkTestObj.setResultStatus("SUCCESS") - else: - print("Failed to revert the URL") tdkTestObj.setResultStatus("FAILURE") + print("Failed to get the threshold value from config file") else: tdkTestObj.setResultStatus("FAILURE") - print("Failed to set URL to webkitbrowser") + print("Failed to get the browser score") + else: + print("\n Error while executing generate key method") + + print("\n Terminating the app") + tdkTestObj = obj.createTestStep('rdkv_terminate_app'); + tdkTestObj.addParameter("app_id",app_name) + tdkTestObj.executeTestCase(expectedResult) + result = tdkTestObj.getResult() + if result == "SUCCESS": + tdkTestObj.setResultStatus("SUCCESS"); else: - tdkTestObj.setResultStatus("FAILURE") - print("Failed to get URL in webkitbrowser") + tdkTestObj.setResultStatus("FAILURE"); + print("Unable to terminate the app") else: - print("Pre conditions are not met") - obj.setLoadModuleStatus("FAILURE") + print("Failed to launch the app") + getSummary(Summ_list,obj) - #Revert the values - if revert=="YES": - print("Revert the values before exiting") - status = revert_value(curr_webkit_status,curr_cobalt_status,obj) obj.unloadModule("rdkv_performance") else: obj.setLoadModuleStatus("FAILURE") From 837aa00d44ac210eae68fc0ae6252632df94ad6c Mon Sep 17 00:00:00 2001 From: Midhun2412 Date: Wed, 3 Jun 2026 12:19:20 +0530 Subject: [PATCH 3/4] Updated BrowserTest scripts for AppManager Implementation --- .../fileStore/BrowserPerformanceVariables.py | 10 ++---- framework/fileStore/rdkv_performancelib.py | 35 ++----------------- .../RDKV_CERT_PVS_Browser_Animation_FPS.py | 5 +-- .../RDKV_CERT_PVS_Browser_CSS3.py | 3 +- .../RDKV_CERT_PVS_Browser_Kraken.py | 5 +-- .../RDKV_CERT_PVS_Browser_MotionMark.py | 5 +-- .../RDKV_CERT_PVS_Browser_Octane.py | 5 +-- .../RDKV_CERT_PVS_Browser_SmashCat.py | 3 +- .../RDKV_CERT_PVS_Browser_Speedometer.py | 11 +++--- 9 files changed, 26 insertions(+), 56 deletions(-) diff --git a/framework/fileStore/BrowserPerformanceVariables.py b/framework/fileStore/BrowserPerformanceVariables.py index 7f5da34c6..e54223760 100644 --- a/framework/fileStore/BrowserPerformanceVariables.py +++ b/framework/fileStore/BrowserPerformanceVariables.py @@ -17,29 +17,23 @@ # limitations under the License. ######################################################################### -strike_app_download_url = "" +app_download_url = "" + strike_app_bundle_name = "" -octane_app_download_url = "" octane_app_bundle_name = "" octane_test_subcategory_list = ["Crypto","EarleyBoyer","Splay","SplayLatency","pdf.js","CodeLoad"] -animation_app_download_url = "" animation_app_bundle_name = "" -kraken_app_download_url = "" kraken_app_bundle_name = "" -smashcat_app_download_url = "" smashcat_app_bundle_name = "" -motion_app_download_url = "" motion_app_bundle_name = "" -speed_app_download_url = "" speed_app_bundle_name = "" -css3_app_download_url = "" css3_app_bundle_name = "" css3_test_subcategory_list = ["Animations Level 1", "Backgrounds and Borders Level 3", "Backgrounds and Borders Level 4", "Basic User Interface Level 3", "Basic User Interface Level 4", "Box Alignment Level 3", "Cascading and Inheritance Level 3", "Cascading and Inheritance Level 4", "Compositing and Blending Level 1", "Custom Properties for Cascading Variables Level 1", "Filter Effects Level 1", "Flexible Box Layout Level 1", "Fonts Level 3", "Fonts Level 4", "Generated Content Level 3", "Grid Layout Level 1", "Grid Layout Level 2", "Grid Layout Level 3", "Images Level 3", "Lists Level 3", "Masking Level 1", "Media Queries Level 3", "Media Queries Level 4", "Media Queries Level 5", "Pointer Events Level 1", "Pointer Events Level 3", "Positioned Layout Level 3", "Ruby Layout Level 1", "Scroll Snap Level 1", "Shadow Parts", "Shapes Level 1", "SVG 2 Coordinate Systems, Transformations and Units", "SVG 2 Geometry Properties", "SVG 2 Paint Servers", "SVG 2 Painting", "SVG 2 Scripting and Interactivity", "SVG 2 Text", "Text Decoration Level 3", "Text Decoration Level 4", "Transforms Level 1", "Transforms Level 2", "Transitions", "Will Change Level 1"] diff --git a/framework/fileStore/rdkv_performancelib.py b/framework/fileStore/rdkv_performancelib.py index f0d6e4486..734669914 100644 --- a/framework/fileStore/rdkv_performancelib.py +++ b/framework/fileStore/rdkv_performancelib.py @@ -2254,12 +2254,8 @@ def setPS_value(video_test_url): #TO PRESS KEYS IN UI USING APP MANAGER #----------------------------------------------------------------------------------------- def browsertest_keypress(obj,app_name,keys): - if len(keys) >1: - key_navigate = keys[0] - key_select = keys[1] - else: - key_navigate = keys - + + key_navigate = keys result="FAILURE" param='[' index=0 @@ -2301,33 +2297,6 @@ def browsertest_keypress(obj,app_name,keys): tdkTestObj.setResultStatus("SUCCESS") print("SUCCESS: Navigated through UI and started the test") result = "SUCCESS" - time.sleep(3) - if key_select !=[]: - param='[' - index=0 - for key in key_select: - if ":" in key: - param = param + '{\\"keyCode\\": ' + key + ',\\"modifiers\\": ['+ key.split(":")[0] +'],\\"delay\\":0.1}' - else: - param = param + '{\\"keyCode\\": ' + key + ',\\"modifiers\\": [],\\"delay\\":0.1}' - if index != (len(key_select)-1): - param = param + ',' - else: - param = param + ']' - index +=1 - params = '{"client":' + appinstanceid + ',"keys":"{\\"keys\\":'+ param + '}"' - tdkTestObj = obj.createTestStep('rdkservice_setValue') - tdkTestObj.addParameter("method","org.rdk.RDKWindowManager.generateKey") - tdkTestObj.addParameter("value",params) - tdkTestObj.executeTestCase(expectedResult) - result = tdkTestObj.getResult() - if expectedResult in result: - tdkTestObj.setResultStatus("SUCCESS") - print("SUCCESS: Navigated through UI and started the test") - result = "SUCCESS" - else: - tdkTestObj.setResultStatus("FAILURE") - print("FAILURE : Failed to navigate through UI") else: tdkTestObj.setResultStatus("FAILURE") print("FAILURE : Failed to start the test by navigating through UI") diff --git a/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Animation_FPS.py b/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Animation_FPS.py index c3c6a7b13..b4ad302d2 100644 --- a/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Animation_FPS.py +++ b/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Animation_FPS.py @@ -117,7 +117,7 @@ expectedResult = "SUCCESS" if expectedResult in result.upper(): app_bundle_name=BrowserPerformanceVariables.animation_app_bundle_name - app_download_url=BrowserPerformanceVariables.animation_app_download_url + app_download_url=BrowserPerformanceVariables.app_download_url app_name = "com.rdkcentral.animation" status = rdkservice_install_launch_app(obj, app_bundle_name, app_name, app_download_url) @@ -159,7 +159,8 @@ tdkTestObj.setResultStatus("FAILURE"); print("Unable to terminate the app") else: - print("Failed to launch the app") + print("Failed to launch the app") + obj.setLoadModuleStatus("FAILURE") getSummary(Summ_list,obj) obj.unloadModule("rdkv_performance") diff --git a/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_CSS3.py b/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_CSS3.py index 632c5d42e..1cc03d1e1 100644 --- a/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_CSS3.py +++ b/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_CSS3.py @@ -99,7 +99,7 @@ expectedResult = "SUCCESS" if expectedResult in result.upper(): app_bundle_name=BrowserPerformanceVariables.css3_app_bundle_name - app_download_url=BrowserPerformanceVariables.css3_app_download_url + app_download_url=BrowserPerformanceVariables.app_download_url browser_subcategory_list = BrowserPerformanceVariables.css3_test_subcategory_list app_name = "com.rdkcentral.css3" status = rdkservice_install_launch_app(obj, app_bundle_name, app_name, app_download_url) @@ -156,6 +156,7 @@ print("Unable to terminate the app") else: print("Failed to launch the app") + obj.setLoadModuleStatus("FAILURE") getSummary(Summ_list,obj) obj.unloadModule("rdkv_performance"); diff --git a/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Kraken.py b/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Kraken.py index 631c4365c..d83cd7f90 100644 --- a/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Kraken.py +++ b/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Kraken.py @@ -117,7 +117,7 @@ expectedResult = "SUCCESS" if expectedResult in result.upper(): app_bundle_name=BrowserPerformanceVariables.kraken_app_bundle_name - app_download_url=BrowserPerformanceVariables.kraken_app_download_url + app_download_url=BrowserPerformanceVariables.app_download_url app_name = "com.rdkcentral.kraken" status = rdkservice_install_launch_app(obj, app_bundle_name, app_name, app_download_url) @@ -161,7 +161,8 @@ print("Unable to terminate the app") else: print("Failed to launch the app") - + obj.setLoadModuleStatus("FAILURE") + getSummary(Summ_list,obj) obj.unloadModule("rdkv_performance") else: diff --git a/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_MotionMark.py b/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_MotionMark.py index 004250bfc..929f34fdf 100644 --- a/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_MotionMark.py +++ b/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_MotionMark.py @@ -116,13 +116,13 @@ expectedResult = "SUCCESS" if expectedResult in result.upper(): app_bundle_name=BrowserPerformanceVariables.motion_app_bundle_name - app_download_url=BrowserPerformanceVariables.motion_app_download_url + app_download_url=BrowserPerformanceVariables.app_download_url sub_category_failure = False app_name = "com.rdkcentral.motion" status = rdkservice_install_launch_app(obj, app_bundle_name, app_name, app_download_url) if status == "SUCCESS": - result = browsertest_keypress(obj,app_name,[["9","13"],[]]) + result = browsertest_keypress(obj,app_name,["9","13"]) if result == expectedResult: time.sleep(420) tdkTestObj = obj.createTestStep('rdkservice_getBrowserScore_MotionMark') @@ -165,6 +165,7 @@ print("Unable to terminate the app") else: print("Failed to launch the app") + obj.setLoadModuleStatus("FAILURE") getSummary(Summ_list,obj) obj.unloadModule("rdkv_performance") diff --git a/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Octane.py b/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Octane.py index 2f74425d3..ca20997c1 100644 --- a/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Octane.py +++ b/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Octane.py @@ -92,7 +92,7 @@ obj.setLoadModuleStatus(result); expectedResult = "SUCCESS" if expectedResult in result.upper(): - app_bundle_name=BrowserPerformanceVariables.app_bundle_name + app_bundle_name=BrowserPerformanceVariables.octane_app_bundle_name app_download_url=BrowserPerformanceVariables.app_download_url browser_subcategory_list = BrowserPerformanceVariables.octane_test_subcategory_list sub_category_failure = False @@ -152,7 +152,8 @@ tdkTestObj.setResultStatus("FAILURE"); print("Unable to terminate the app") else: - print("Failed to launch the app") + print("Failed to launch the app") + obj.setLoadModuleStatus("FAILURE") getSummary(Summ_list,obj) obj.unloadModule("rdkv_performance"); diff --git a/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_SmashCat.py b/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_SmashCat.py index fe3f7287b..1fd397a24 100644 --- a/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_SmashCat.py +++ b/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_SmashCat.py @@ -111,7 +111,7 @@ expectedResult = "SUCCESS" if expectedResult in result.upper(): app_bundle_name=BrowserPerformanceVariables.smashcat_app_bundle_name - app_download_url=BrowserPerformanceVariables.smashcat_app_download_url + app_download_url=BrowserPerformanceVariables.app_download_url sub_category_failure = False app_name = "com.rdkcentral.smashcat" status = rdkservice_install_launch_app(obj, app_bundle_name, app_name, app_download_url) @@ -154,6 +154,7 @@ print("Unable to terminate the app") else: print("Failed to launch the app") + obj.setLoadModuleStatus("FAILURE") getSummary(Summ_list,obj) obj.unloadModule("rdkv_performance") diff --git a/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Speedometer.py b/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Speedometer.py index 1e3abb48f..49aa6e599 100644 --- a/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Speedometer.py +++ b/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Speedometer.py @@ -115,12 +115,12 @@ expectedResult = "SUCCESS" if expectedResult in result.upper(): - app_bundle_name=BrowserPerformanceVariables.speed_app_bundle_name - app_download_url=BrowserPerformanceVariables.speed_app_download_url - app_name = "com.rdkcentral.speed" + app_bundle_name=BrowserPerformanceVariables.speedometer_app_bundle_name + app_download_url=BrowserPerformanceVariables.app_download_url + app_name = "com.rdkcentral.speedometer" status = rdkservice_install_launch_app(obj, app_bundle_name, app_name, app_download_url) if status == "SUCCESS": - result = browsertest_keypress(obj,app_name,[["9","13"],[]]) + result = browsertest_keypress(obj,app_name,["9","13"]) if result == expectedResult: time.sleep(2000) tdkTestObj = obj.createTestStep('rdkservice_getBrowserScore_Speedometer') @@ -162,7 +162,8 @@ tdkTestObj.setResultStatus("FAILURE"); print("Unable to terminate the app") else: - print("Failed to launch the app") + print("Failed to launch the app") + obj.setLoadModuleStatus("FAILURE") getSummary(Summ_list,obj) obj.unloadModule("rdkv_performance") From f3108345aacab1ea72b24691453ea337020b6613 Mon Sep 17 00:00:00 2001 From: Midhun2412 Date: Wed, 3 Jun 2026 12:27:51 +0530 Subject: [PATCH 4/4] Updated BrowserTest scripts for AppManager --- framework/fileStore/BrowserPerformanceVariables.py | 2 +- .../rdkv_performance/RDKV_CERT_PVS_Browser_MotionMark.py | 3 ++- .../rdkv_performance/RDKV_CERT_PVS_Browser_Speedometer.py | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/framework/fileStore/BrowserPerformanceVariables.py b/framework/fileStore/BrowserPerformanceVariables.py index e54223760..124b6307b 100644 --- a/framework/fileStore/BrowserPerformanceVariables.py +++ b/framework/fileStore/BrowserPerformanceVariables.py @@ -32,7 +32,7 @@ motion_app_bundle_name = "" -speed_app_bundle_name = "" +speedometer_app_bundle_name = "" css3_app_bundle_name = "" css3_test_subcategory_list = ["Animations Level 1", "Backgrounds and Borders Level 3", "Backgrounds and Borders Level 4", "Basic User Interface Level 3", "Basic User Interface Level 4", "Box Alignment Level 3", "Cascading and Inheritance Level 3", "Cascading and Inheritance Level 4", "Compositing and Blending Level 1", "Custom Properties for Cascading Variables Level 1", "Filter Effects Level 1", "Flexible Box Layout Level 1", "Fonts Level 3", "Fonts Level 4", "Generated Content Level 3", "Grid Layout Level 1", "Grid Layout Level 2", "Grid Layout Level 3", "Images Level 3", "Lists Level 3", "Masking Level 1", "Media Queries Level 3", "Media Queries Level 4", "Media Queries Level 5", "Pointer Events Level 1", "Pointer Events Level 3", "Positioned Layout Level 3", "Ruby Layout Level 1", "Scroll Snap Level 1", "Shadow Parts", "Shapes Level 1", "SVG 2 Coordinate Systems, Transformations and Units", "SVG 2 Geometry Properties", "SVG 2 Paint Servers", "SVG 2 Painting", "SVG 2 Scripting and Interactivity", "SVG 2 Text", "Text Decoration Level 3", "Text Decoration Level 4", "Transforms Level 1", "Transforms Level 2", "Transitions", "Will Change Level 1"] diff --git a/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_MotionMark.py b/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_MotionMark.py index 929f34fdf..8fd9005e1 100644 --- a/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_MotionMark.py +++ b/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_MotionMark.py @@ -152,7 +152,8 @@ print("Failed to get the browser score") else: print("\n Error while executing generate key method") - + obj.setLoadModuleStatus("FAILURE") + print("\n Terminating the app") tdkTestObj = obj.createTestStep('rdkv_terminate_app'); tdkTestObj.addParameter("app_id",app_name) diff --git a/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Speedometer.py b/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Speedometer.py index 49aa6e599..0faa45505 100644 --- a/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Speedometer.py +++ b/framework/fileStore/testscriptsRDKV/certification/rdkv_performance/RDKV_CERT_PVS_Browser_Speedometer.py @@ -150,6 +150,7 @@ print("Failed to get the browser score") else: print("\n Error while executing generate key method") + obj.setLoadModuleStatus("FAILURE") print("\n Terminating the app") tdkTestObj = obj.createTestStep('rdkv_terminate_app');