Index: tst_time_duration/test.py =================================================================== diff -u -r147d2efb04f320c335f5b1b570b97ed0c11c60e4 -r24baad86c6fce6c0875821cde956337b6fb673fe --- tst_time_duration/test.py (.../test.py) (revision 147d2efb04f320c335f5b1b570b97ed0c11c60e4) +++ tst_time_duration/test.py (.../test.py) (revision 24baad86c6fce6c0875821cde956337b6fb673fe) @@ -7,28 +7,33 @@ # # file tst_time_duration # @author (last) Amol Shinde -# @date (last) 28-02-2022 +# @author (last) Sai Chaitanya Ela +# @date (last) 04-03-2022 import names from dialin.ui import utils from dialin.ui.hd_simulator import HDSimulator from configuration import config +from random import randint +MIN_TIME_RANGE = 60 +MAX_TIME_RANGE = 480 + hd_simulator = HDSimulator() def start_treatment_time_verification(vTotal): """ Method to verify Actual time in seconds to Time appear on UI Screen in seconds. Also it compare the Progress bar value in seconds - @param vTotal: (int) Total time in seconds ##as per behrouz comment @param vTotal - (int) Total time in seconds + @param vTotal: (int) Total time in seconds """ for i in range(0,vTotal+1): hd_simulator.cmd_set_treatment_time(vTotal, i, vTotal - i) - test.compare(waitForObjectExists(names.o_treatmentStart_shape_Shape).parent.parent.parent.parent.progressValue, i, "progress value should be {}".format(i)) - test.compare(waitForObjectExists(names.o_treatmentStart_shape_Shape).parent.parent.parent.parent.timeTextValue, vTotal - i, "Expected Time on UI should be in seconds{}".format(vTotal - i)) + test.compare(waitForObjectExists(names.o_treatment_duration).progressValue, i, "progress value should be {}".format(i)) + test.compare(waitForObjectExists(names.o_treatment_duration).timeTextValue, vTotal - i, "Expected Time on UI should be in seconds {}".format(vTotal - i)) def reset_treatment_time_verification(vTotal): @@ -39,25 +44,42 @@ """ hd_simulator.cmd_set_treatment_time(vTotal, 0, vTotal) - test.compare(waitForObjectExists(names.o_treatmentStart_shape_Shape).parent.parent.parent.parent.maximum, vTotal, "Reset maximum value and compare it expected value{}".format(vTotal)) - test.compare(waitForObjectExists(names.o_treatmentStart_shape_Shape).parent.parent.parent.parent.minimum, 0, "Reset minimun value and compare it expected value{}".format(0)) - + test.compare(waitForObjectExists(names.o_treatment_duration).maximum, vTotal, "Reset maximum value and compare it expected value {}".format(vTotal)) + test.compare(waitForObjectExists(names.o_treatment_duration).minimum, 0, "Reset minimum value and compare it expected value {}".format(0)) + + def verify_pause_treatment_text(): """ - Method to redirect Time remaining to Pause Treatment state - and verify Pause Treatment Text on UI Screen + Method to verify 'Treatment Paused' text is displayed """ test.log("Verifying the text 'Treatment Paused'") - test.compare(str(waitForObjectExists(names.o_Treatment_Paused).text), config.PAUSED_TEXT, "Verified Paused state in Main treatment's remain time section") - utils.waitForGUI(2) + test.compare(str(waitForObjectExists(names.o_Treatment_Paused).text), config.PAUSED_TEXT, "{} should display Main treatment's remain time section".format(config.PAUSED_TEXT)) + def treatment_time_verification(total): test.startSection("Verify the seconds values inside Progress bar and on timer 'Time in seconds'") reset_treatment_time_verification(total) - start_treatment_time_verification(total) - reset_treatment_time_verification(total) + start_treatment_time_verification(total) test.endSection() + +def total_time(): + """ + Method for providing two random values between the time duration range as per SRSUI documents from 60 to 480 Minutes + """ + + totaltime_list = [] + id_count = 0 + while id_count < 2: + id = randint(MIN_TIME_RANGE, MAX_TIME_RANGE) + if id in totaltime_list: + pass + else: + totaltime_list.append(id) + id_count += 1 + test.log("Selected time are {}".format(totaltime_list)) + return totaltime_list + def main(): utils.tstStart(__file__) startApplication(config.AUT_NAME) @@ -66,34 +88,34 @@ hd_simulator.cmd_set_treatment_states_data(sub_mode= 2, uf_state= 0, saline_state=0, heparin_state= 0, rinseback_state= 0, recirculate_state= 0, blood_prime_state= 0, treatment_end_state=0, treatment_stop_state= 0) - - - hd_simulator.cmd_send_uf_treatment_response(accepted = 1, reason = 0, volume = 0.300) - utils.waitForGUI(2) hd_simulator.cmd_set_treatment_start_state() - - #Start treatment time verification - treatment_time_verification(total=300) + #Calculating total seconds into minutes and passing to treatment time verification + total_time_list = total_time() + for value in total_time_list: + treatment_time_verification(value*60) + #Give treatment stop response to pause remain time hd_simulator.cmd_set_treatment_states_data(sub_mode= 0, uf_state= 0, saline_state=0, heparin_state= 0, rinseback_state= 0, recirculate_state= 0, blood_prime_state= 0, treatment_end_state=0, treatment_stop_state= 1) #verify treatment pause state verify_pause_treatment_text() - utils.waitForGUI(2) #Send treatment start response after pause state hd_simulator.cmd_set_treatment_states_data(sub_mode= 2, uf_state= 0, saline_state=0, heparin_state= 0, rinseback_state= 0, recirculate_state= 0, blood_prime_state= 0, treatment_end_state=0, treatment_stop_state= 0) + + #Again start treatment for time verification + mouseClick(waitForObject(names.o_treatmentHome_Time_Remaining_Text)) + test.verify(waitForObjectExists(names.o_confirm_Text).enabled, "'Confirm' button should be enabled") - utils.waitForGUI(2) - #verify_pause_treatment_text(accepted=False, reason=2, volume=0.300 ) - - #Again start treatment for time verification + #FIXME: If we not use specified value then it will take minimum one and maximum 8 hours. treatment_time_verification(60) - utils.tstDone() \ No newline at end of file + utils.tstDone() + + \ No newline at end of file