Index: tst_post_treatment/test.py =================================================================== diff -u -rc1870f6c47b476330fe930d81bf0a13cab62a86f -rba1474dc5c7f4efa5eaca5a840ab8d51a1c5c438 --- tst_post_treatment/test.py (.../test.py) (revision c1870f6c47b476330fe930d81bf0a13cab62a86f) +++ tst_post_treatment/test.py (.../test.py) (revision ba1474dc5c7f4efa5eaca5a840ab8d51a1c5c438) @@ -16,11 +16,16 @@ # NOTE: # This test contradicts verification of post treatment section. +import builtins import names +import csv +import test +import time import builtins from dialin.ui import utils -from dialin.ui.hd_simulator import HDSimulator +from datetime import * from configuration import config +from dialin.ui.hd_simulator import HDSimulator from configuration import utility from dialin.common.hd_defs import HDOpModes, HDOpSubModes, PostTreatmentStates @@ -55,10 +60,9 @@ Method for navigating to post treatment disconnection submode. """ hd_simulator.cmd_send_hd_operation_mode(op_mode = HDOpModes.MODE_POST.value, sub_mode=PostTreatmentStates.HD_POST_TREATMENT_PATIENT_DISCONNECTION_STATE.value) - if object.exists(get_rightarrow_obj(rightarrow_obj_names[0])): - mouseClick(waitForObject(get_rightarrow_obj(rightarrow_obj_names[0]))) - elif object.exists(get_rightarrow_obj(rightarrow_obj_names[0])): - mouseClick(waitForObject(get_rightarrow_obj(rightarrow_obj_names[0]))) + for iteration in range(2): + if object.exists(get_rightarrow_obj(rightarrow_obj_names[0])): + mouseClick(waitForObject(get_rightarrow_obj(rightarrow_obj_names[0]))) def post_treatment_review_text_obj(text): @@ -265,7 +269,7 @@ """ test.startSection("Method to check all the values of parameters in review screen") - for index in range (5): + for index in range (2): getting_patient_id_from_create_custom_treatment(config.POST_TREATMENT_REVIEW_PARAMETER_RANGE["Patient ID"][index]) navigation_to_post_treatment() @@ -312,8 +316,7 @@ utils.waitForGUI(1) test.startSection("verification of post treatment review values for iteration -> "+str(index+1)) - test.log("###verification of post treatment UI data") - + test.log("###verification of post treatment UI data based on config data") for parameters_value in config.POST_TREATMENT_REVIEW_PARAMETER_RANGE.keys(): parameter_set = config.POST_TREATMENT_REVIEW_PARAMETER_RANGE[parameters_value] @@ -352,13 +355,25 @@ elif parameters_value == 'Water Sample Test Result': test.log("verification of values for parameter ->" + parameters_value) review_parameter_value = review_text(text = str(parameter_set[index])) + test.log(str(review_parameter_value)) parameter_text = waitForObjectExists(review_parameter_value) test.compare(str(parameter_set[index]), str(parameter_text.text), "parameter value should be "+str(parameter_set[index])) continue - if parameters_value == 'Treatment Start DateTime' or parameters_value == 'Treatment End DateTime' or parameters_value == 'Actual Treatment Duration': - continue + if parameters_value == 'Treatment Start DateTime': + start_date_time = datetime.fromtimestamp(parameter_set[index]).strftime('%Y/%m/%d %H:%M') + review_parameter_value = review_text(text = str(start_date_time)) + parameter_text = waitForObjectExists(review_parameter_value) + test.compare(start_date_time, str(parameter_text.text), "parameter value should be "+str(parameter_set[index])) + continue + if parameters_value == 'Treatment End DateTime': + end_date_time = datetime.fromtimestamp(parameter_set[index]).strftime('%Y/%m/%d %H:%M') + review_parameter_value = review_text(text = str(end_date_time)) + parameter_text = waitForObjectExists(review_parameter_value) + test.compare(end_date_time, str(parameter_text.text), "parameter value should be "+str(parameter_set[index])) + continue + else: if isinstance(parameter_set[index], float): parameter_set[index] = ('%.3f' %parameter_set[index]) @@ -370,26 +385,54 @@ parameter_to_scroll = "0" else: parameter_to_scroll = str(time_duration) - + if parameters_value == 'Actual Treatment Duration': + time_duration = builtins.int(utility.convert_seconds_into_min_and_sec(seconds=parameter_to_scroll, time_format="%M")) + test.log(str(time_duration)) + parameter_to_scroll = str(time_duration) + review_parameter_value = review_text(text = parameter_to_scroll) parameter_text = waitForObjectExists(review_parameter_value) test.log("###verification of values for parameter - >" + parameters_value + " from UI screen") parameter_set[index] = parameter_to_scroll test.compare(str(parameter_set[index]), str(parameter_text.text), "parameter value should be "+str(parameter_set[index])) test.log("verification of post treatment log file data") - parameter_value, parameter_unit = utility.verify_parameter_from_post_treatment_log(parameters_value) - if parameter_unit is None or parameter_value is None: - continue + parameter_value, parameter_unit = verify_parameter_from_post_treatment_log(parameters_value) test.compare(parameter_unit, config.POST_TREATMENT_REVIEW_SCREEN_UNITS[parameters_value], "parameters unit should be ->" + config.POST_TREATMENT_REVIEW_SCREEN_UNITS[parameters_value]) test.compare(parameter_value, parameter_set[index], "parameters value should be ->" + str(parameter_set[index])) test.endSection() test.endSection() - + +def verify_parameter_from_post_treatment_log(msg_text): + """ + To obtain the details of parameter from post treatment log file. + @param msg_text: parameter to be extracted. + @returns message value and message unit + """ + try: + log_location = str(utility.get_extracted_file_from_post_treatment()) + with open(log_location, 'r') as csv_file: + + try: + for row in csv_file: + reader = csv.reader(csv_file) + for row in reader: + row_length = sum(1 for values in row) + for row1 in row: + if row[0]!= None and row[0] == msg_text and row_length == 3: + return (row[1],row[2]) + else: + pass + except: + test.fail("Treatment log data is corrupted") + except: + test.fail("Log file is not created or log file is not created based on standard log naming format.") + + def main(): - + #TODO: Export functionality need to be verified in new build utils.tstStart(__file__) startApplication(config.AUT_NAME) hd_simulator.cmd_send_hd_operation_mode(op_mode=HDOpModes.MODE_POST.value, sub_mode=PostTreatmentStates.HD_POST_TREATMENT_PATIENT_DISCONNECTION_STATE.value) @@ -400,4 +443,3 @@ utils.tstDone() -