Index: shared/scripts/configuration/config.py =================================================================== diff -u -rc7b85cd6de64cdd4c730624e5321b723c4ff0ee7 -rce5a0db0c7033fbf15d8725a4e9973372a611c92 --- shared/scripts/configuration/config.py (.../config.py) (revision c7b85cd6de64cdd4c730624e5321b723c4ff0ee7) +++ shared/scripts/configuration/config.py (.../config.py) (revision ce5a0db0c7033fbf15d8725a4e9973372a611c92) @@ -35,10 +35,11 @@ CONFIG_PATH = Path(os.getcwd()) HOME_DIR_PATH = CONFIG_PATH.parent.parent.parent ALARMS_CONF_LOCATION = "".join([str(HOME_DIR_PATH),'/Projects/application/resources/settings/Alarms/Alarms.conf']) -ALARM_MAPPING_CPP_FILE_LOCATION = "".join([str(HOME_DIR_PATH)+'/Projects/denali/AlarmMapping.csv']) +ALARM_MAPPING_CSV_FILE_LOCATION = "".join([str(HOME_DIR_PATH)+'/Projects/denali/AlarmMapping.csv']) +ALARM_MAPPING_CSV_DIR_LOCATION = "".join([str(HOME_DIR_PATH)+'/Projects/denali/']) + - NUM_OF_ALARM_PRIORITIES = 4 # Total number of alarm priorities ACCEPTED = True REJECTED = False Index: shared/scripts/configuration/strings.py =================================================================== diff -u -rc7b85cd6de64cdd4c730624e5321b723c4ff0ee7 -rce5a0db0c7033fbf15d8725a4e9973372a611c92 --- shared/scripts/configuration/strings.py (.../strings.py) (revision c7b85cd6de64cdd4c730624e5321b723c4ff0ee7) +++ shared/scripts/configuration/strings.py (.../strings.py) (revision ce5a0db0c7033fbf15d8725a4e9973372a611c92) @@ -908,7 +908,11 @@ 288: "Call service to schedule a repair.", 289: "Check dialysate/concentrate caps.", 290: "DG flow too low while heater is on.", - 291: "Total number of alarms." + 291: "HD processor is in Disinfect Flush mode.", + 292: "HD processor is in Disinfect Heat mode.", + 293: "HD processor is in Disinfect Chemical mode.", + 294: "HD processor Disinfect Chemical mode instructions to user.", + 295: "Total number of alarms." } ALARM_PRIORITIES = {1: "LOW", 2: "MEDIUM", 3: "HIGH"} Index: shared/scripts/configuration/utility.py =================================================================== diff -u -rc7b85cd6de64cdd4c730624e5321b723c4ff0ee7 -rce5a0db0c7033fbf15d8725a4e9973372a611c92 --- shared/scripts/configuration/utility.py (.../utility.py) (revision c7b85cd6de64cdd4c730624e5321b723c4ff0ee7) +++ shared/scripts/configuration/utility.py (.../utility.py) (revision ce5a0db0c7033fbf15d8725a4e9973372a611c92) @@ -46,31 +46,6 @@ return False -def scroll_to_zone(zone=None, screen_object=None): - """ - scroll to the zone if object is hidden - @param zone - (obj) UI object - @param screen_object - (obj) UI object - @return boolean true and false - """ - counter = 0 - while counter <= 100: - try: - counter += 1 - squish.findObject(zone) - squish.snooze(0.5) - if check_if_object_is_within_the_container(obj=zone, container=screen_object): - return True - else: - raise RuntimeError - except RuntimeError: - ScreenObj = squish.waitForObject(screen_object) - screenHeight = pyInt(ScreenObj.height) - screenWidth = pyInt(ScreenObj.width) - squish.mouseWheel(ScreenObj, screenWidth-1000, screenHeight-10, 0, -50, squish.Qt.NoModifier) - raise LookupError("zone object is not in view to the user after trying 100 times") - - def get_alarm_id_obj(id): names.o_alarm_id["text"] = id return names.o_alarm_id @@ -115,4 +90,39 @@ screenHeight = pyInt(ScreenObj.height) screenWidth = pyInt(ScreenObj.width) squish.mouseWheel(ScreenObj, screenWidth//2, screenHeight//2, 0, -50, squish.Qt.NoModifier) - raise LookupError("value object is not in view to the user after trying 100 times") \ No newline at end of file + raise LookupError("value object is not in view to the user after trying 100 times") + + +def scroll_to_zone(zone=None, screen_object=None, direction = None): + """ + 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: + try: + counter += 1 + squish.findObject(zone) + squish.snooze(0.5) + if check_if_object_is_within_the_container(obj=zone, container=screen_object): + return True + else: + raise RuntimeError + except RuntimeError: + ScreenObj = squish.findObject(screen_object) + screenHeight = pyInt(ScreenObj.height) + screenWidth = pyInt(ScreenObj.width) + if direction is None: + squish.mouseWheel(ScreenObj, (screenWidth-100), + 107, 0, -(screenHeight-460), squish.Qt.NoModifier) + else: + squish.mouseWheel(ScreenObj, (screenWidth-100), + -(screenHeight-780), 0, 200, squish.Qt.NoModifier) + + raise LookupError("zone object is not in view to the user after " + \ + "trying 100 times") + + + Index: tst_ui_alarms_list/test.py =================================================================== diff -u -rc7b85cd6de64cdd4c730624e5321b723c4ff0ee7 -rce5a0db0c7033fbf15d8725a4e9973372a611c92 --- tst_ui_alarms_list/test.py (.../test.py) (revision c7b85cd6de64cdd4c730624e5321b723c4ff0ee7) +++ tst_ui_alarms_list/test.py (.../test.py) (revision ce5a0db0c7033fbf15d8725a4e9973372a611c92) @@ -13,6 +13,8 @@ import logging import names import csv +import os +import subprocess from configuration import config, utility from dialin.ui import utils @@ -23,6 +25,7 @@ from dialin.ui.hd_simulator_alarms import HDAlarmsSimulator from random import randint, choice, choices from dialin.common.prs_defs import AlarmDataTypes +from _ast import Str hd_simulator = HDSimulator() logging.basicConfig(filename='log_file.log',level=logging.INFO, datefmt='%d-%b-%y %H:%M:%S') @@ -66,6 +69,12 @@ test.compare(alarm_list_title_text, config.ALARM_LIST_TITLE) def set_verify_alarms_in_list(alarm_id_list,accept=config.ACCEPTED, reason_id=0): + """ + This method is for calling the diffrent methods for performing the operation after each 10 alarm id's. + @param:(list) Total number of alarm ids + @param:(Bool) Accept == True + @reason id: (int) reason_id = 0 + """ set_the_alarm(alarm_id_list=alarm_id_list, state_list=generate_states(), flags=set_only_alarm_list_btn(no_minimize=1)) utils.waitForGUI(1) arranged_alarm_list = arrange_the_alarm_list(alarm_id_list=alarm_id_list,accept=accept,reason_id=reason_id) @@ -215,7 +224,6 @@ set_verify_alarms_in_list(alarm_id_list,accept=config.ACCEPTED, reason_id=0) - def generate_states(): """ Method to generate 10 states between HIGH, MEDIUM, LOW, NONE @@ -298,8 +306,10 @@ alarm = row[1] alarm_message = alarm.strip(' ') alarm_message = str(alarm_message) - alarm_message = str(alarm_message) test.log(str(alarm_message)) + if "\\n" in alarm_message: + alarm_message = alarm_message.rstrip("\\n","\n") + return alarm_message return alarm_message except: @@ -312,46 +322,39 @@ def verify_alarm_list(arranged_alarm_list, accept=None, reason_id=0): - """ - Method to verify the Messages under 'Alarm list' - @param arranged_alarm_list - (list) alarm list - @param accept - (bool) Accepted/Rejected - @param reason_id - (int) Reason for rejecting the alarm list - """ test.startSection("Verify the Messages under 'Alarm list'") if accept==config.ACCEPTED: alarm_id_parent_list = {} - for index, id in enumerate(arranged_alarm_list): - - utility.scroll_to_value_on_pop_up(utility.get_alarm_id_obj(id),names.o_alarm_list_container) + utility.scroll_to_zone(zone=utility.get_alarm_id_obj(id), screen_object=names.o_alarm_list_container, direction = "Top") alarm_id = waitForObject(utility.get_alarm_id_obj(id)) alarm_id_parent = object.parent(alarm_id) alarm_id_parent_list[id] = alarm_id_parent test.log(config.ALARM_ID_AND_MESSAGES[id]) - ALARM_ID_AND_MESSAGES = get_alarm_id_mAlarm_mapping_file(alarm_id = id) - test.log(str(ALARM_ID_AND_MESSAGES)) - alarm_msg = waitForObject(utility.get_alarm_msg_obj(ALARM_ID_AND_MESSAGES)) + alarm_msg = waitForObject(utility.get_alarm_msg_obj(config.ALARM_ID_AND_MESSAGES[id])) test.log("Verifying 'Alarm ID'") alarm_id = pyInt(alarm_id.text.toUtf8().constData()) test.compare(alarm_id, id, "Actual 'Alarm ID': {} should be equal to Expected 'Alarm ID': {}".format(alarm_id, id)) test.log("Verifying 'Alarm Message'") alarm_msg = alarm_msg.text - test.compare(alarm_msg,ALARM_ID_AND_MESSAGES, "Actual 'Alarm Message': {} should be equal to Expected 'Alarm Message': {}".format(alarm_msg,ALARM_ID_AND_MESSAGES)) + test.compare(alarm_msg, config.ALARM_ID_AND_MESSAGES[id], "Actual 'Alarm Message': {} should be equal to Expected 'Alarm Message': {}".format(alarm_msg, config.ALARM_ID_AND_MESSAGES[id])) test.log("Verifying the Alarm's position in 'Alarm list'") alarm_list_parent = waitForObject(names.o_alarm_list) alarm_list = object.children(alarm_list_parent) + for index, alarm_id in enumerate(alarm_id_parent_list): test.compare(alarm_list[index], alarm_id_parent_list[alarm_id], "Alarm ID: {} is at position {}".format(alarm_id, index)) else: expected_message = config.REJECTION_REASON[0] + "\n" + config.REJECTION_REASON[reason_id] rejected_alarm_list_msg = waitForObject(names.o_rejected_alarm_list_msg) rejected_alarm_list_msg = rejected_alarm_list_msg.text test.compare(rejected_alarm_list_msg, expected_message, "When 'Alarm list' is not accepted then '{}' should be displayed on 'Alarm List' pop up".format(expected_message)) + utility.scroll_to_zone(zone=utility.get_alarm_id_obj(len(arranged_alarm_list)//2), screen_object=names.o_alarm_list_container, direction = None) + test.endSection() + - def verify_alarm_list_when_only_alarm_list_button_is_available(accept=None, reason_id=None): """ Method to set the alarms, arrange them @@ -462,18 +465,45 @@ test.compare(alarm_msg, expected_msg, "Expected message {} should be displayed on alarm dialogue bar".format(expected_msg)) test.endSection() +def verify_alarmMapping_csv(): + """ + This method is used to execute the command for getting updated mAlarmMapping.csv file. + """ + current_work_dir = os.getcwd() + cmd = './alarmMapping ~/Projects/application/common/ ./' + os.chdir(config.ALARM_MAPPING_CSV_DIR_LOCATION) + os.system("gnome-terminal -e 'bash -c \""+cmd+";bash\"'") + os.chdir(current_work_dir) + test.log(str(os.getcwd())) + + def main(): + +# verify_alarmMapping_csv() +# utils.tstStart(__file__) startApplication(config.AUT_NAME) - + utils.waitForGUI(1) +# verify_alarm_list_when_minimize_button_is_available(accept=config.ACCEPTED, reason_id=0) +# +# utils.waitForGUI(1) +# verify_alarm_list_when_minimize_button_is_available(accept=config.REJECTED, reason_id=20) +# +# utils.waitForGUI(1) +# verify_alarm_list_when_only_alarm_list_button_is_available(accept=config.ACCEPTED, reason_id=0) +# utils.waitForGUI(1) +# verify_alarm_list_when_only_alarm_list_button_is_available(accept=config.REJECTED, reason_id=7) + generate_alarm_ids(accept=config.ACCEPTED, reason_id=0) - - utils.waitForGUI(1) - verify_alarm_msg_for_undefined_alarm_id() - - utils.waitForGUI(1) - verify_alarm_dialogue_is_displayed(id=1000, state=AlarmPriorities.ALARM_PRIORITY_MEDIUM.value) - - utils.tstDone() + +# utils.waitForGUI(1) +# verify_alarm_msg_for_undefined_alarm_id() +# +# utils.waitForGUI(1) +# verify_alarm_dialogue_is_displayed(id=1000, state=AlarmPriorities.ALARM_PRIORITY_MEDIUM.value) +# +# utils.tstDone() + + \ No newline at end of file