Index: shared/scripts/configuration/utility.py =================================================================== diff -u -ra4e22083e34eee528f48cf21991d135e0ebf0a58 -rc6274593f3f5a607595b95f0243313a6cf32d599 --- shared/scripts/configuration/utility.py (.../utility.py) (revision a4e22083e34eee528f48cf21991d135e0ebf0a58) +++ shared/scripts/configuration/utility.py (.../utility.py) (revision c6274593f3f5a607595b95f0243313a6cf32d599) @@ -7,7 +7,7 @@ # # @file utils.py # -# @author (last) Joseph varghese +# @author (last) LTTS # @date (last) 15-Jan-2022 # ############################################################################ @@ -22,6 +22,7 @@ from builtins import int as pyInt from builtins import str as pyStr from builtins import float as pyFloat +from unicodedata import bidirectional def start_application(app_name): @@ -60,28 +61,14 @@ except: logErrorDetails("Failed to start the application") sys.exit(1) + - -def color_verification(exp_val = "Red", act_val = "#c53b33"): - """ - Function to verify item color verification - Argument: - exp_val - Expected required value - act_val - Color displayed on UI - Return: - handle the application for log - """ - test.compare(config.COLOR_CODES[color_name],(act_val.color[name])) - - def check_if_object_is_within_the_container(obj=None, container=None): """ check if an object is inside a container - Arguments: - obj - child UI object - container - container UI object - Return: - bool + @param obj - child UI object + @param container - container UI object + @return boolean """ container = squish.findObject(container) containerPos = container.mapToGlobal(squish.QPoint(0, 0)) @@ -99,14 +86,13 @@ return False -def scroll_to_zone(zone=None, screen_object=None): + +def scroll_to_zone(zone=None, screen_object=None, direction = None): """ - scroll to the numeric if object is hidden - Arguments: - zone - UI object - screen_object - UI object (UI Home screen) - Return: - bool + scroll to the UI, if object is hidden + @param zone - object to be find out. + @param screen_object - object of the screen. + @return boolean """ counter = 0 while counter <= 100: @@ -119,42 +105,107 @@ else: raise RuntimeError except RuntimeError: - ScreenObj = squish.waitForObject(screen_object) + ScreenObj = squish.findObject(screen_object) screenHeight = pyInt(ScreenObj.height) screenWidth = pyInt(ScreenObj.width) - squish.mouseWheel(ScreenObj, (screenWidth-100), + if direction is None: + squish.mouseWheel(ScreenObj, (screenWidth-100), 107, 0, -(screenHeight-460), squish.Qt.NoModifier) - + else: + squish.mouseWheel(ScreenObj, (screenWidth-100), + -(screenHeight-700), 0, 200, squish.Qt.NoModifier) + raise LookupError("zone object is not in view to the user after " + \ "trying 100 times") -def set_slider_value(slider_value, slider_object): +def set_slider_value(slider_value= None, slider_object= None, bidirectional= False, + slider_range = None): """ Method to drag slider to desired value - Argument: - slider_value : value in which slider should be placed - slider_object : object of the slider - Return: - True - if user able to select slider. else, false + @param slider_value : value in which slider should be placed + @param slider_object : object of the slider + @param bidirectional : True, if slider have 2 handler + @return boolean (True - if user able to select slider. else, false) """ slider_value = pyFloat(slider_value) actual_value = slider_value + if slider_range == "Max": + x_value = 600 + else: + x_value = 0 counter = 0 while True: - squish.mouseDrag(slider_object, 0, 0, slider_value, 0, squish.Qt.NoModifier, + if slider_value < 0: + slider_value = -1 * slider_value + squish.mouseDrag(slider_object, x_value, 0, slider_value, 0, squish.Qt.NoModifier, squish.Qt.LeftButton) - if counter == 25: + if counter == 50: + test.fail("User unable to fix slider value") + return False + if bidirectional is True: + if slider_range == "Low": + if actual_value == pyFloat(slider_object.minValue): + return True + if slider_value >= pyFloat(slider_object.minValue): + slider_value = slider_value - 30 + if slider_value <= pyFloat(slider_object.minValue): + slider_value = slider_value + 30 + if slider_range == "Max": + if actual_value == pyFloat(slider_object.maxValue): + return True + if slider_value >= pyFloat(slider_object.maxValue): + slider_value = slider_value + 30 + if slider_value <= pyFloat(slider_object.maxValue): + slider_value = slider_value - 30 + else: + if actual_value == pyFloat(slider_object.value): + return True + if slider_value >= pyFloat(slider_object.value): + slider_value = slider_value + 30 + if slider_value <= pyFloat(slider_object.value): + slider_value = slider_value - 30 + counter = counter + 1 + + +def slider_movement_for_negative_values(slider_value= None, slider_object= None, bidirectional= False, + slider_range = None): + """ + Method to drag slider for negative values value + @param slider_value : value in which slider should be placed + @param slider_object : object of the slider + @param bidirectional : True, if slider have 2 handler + @return boolean (True - if user able to select slider. else, false) + """ + slider_value = pyFloat(slider_value) + actual_value = slider_value + if slider_range == "Max": + x_value = 600 + else: + x_value = 0 + counter = 0 + while True: + squish.mouseDrag(slider_object, x_value, 0, slider_value, 0, squish.Qt.NoModifier, + squish.Qt.LeftButton) + if counter == 50: test.fail("User unable to fix slider slider_value") return False - if actual_value == pyFloat(slider_object.value): - return True - if slider_value >= pyFloat(slider_object.value): - slider_value = slider_value + 30 - if slider_value <= pyFloat(slider_object.value): - slider_value = slider_value - 30 + if bidirectional is True: + if slider_range == "Low": + if actual_value == pyFloat(slider_object.minValue): + return True + if slider_value >= pyFloat(slider_object.minValue): + slider_value = slider_value + 30 + if slider_value <= pyFloat(slider_object.minValue): + slider_value = slider_value - 30 + if slider_range == "Max": + if actual_value == pyFloat(slider_object.maxValue): + return True + if slider_value >= pyFloat(slider_object.maxValue): + slider_value = slider_value + 30 + if slider_value <= pyFloat(slider_object.maxValue): + slider_value = slider_value - 30 counter = counter + 1 - - - + +