Index: tst_pre_treatment_disposables/test.py =================================================================== diff -u -r2e73714b63ae5fd2ef8b5acca5043e136454feff -rc79559a8ecd6dc676c7aed956ba1a5d1e45534a0 --- tst_pre_treatment_disposables/test.py (.../test.py) (revision 2e73714b63ae5fd2ef8b5acca5043e136454feff) +++ tst_pre_treatment_disposables/test.py (.../test.py) (revision c79559a8ecd6dc676c7aed956ba1a5d1e45534a0) @@ -20,6 +20,8 @@ from dialin.ui.hd_simulator import HDSimulator from dialin.ui.dg_simulator import DGSimulator from dialin.common.hd_defs import HDOpModes, HDStandbyStates, PreTreatmentSubModes, PreTreatmentSampleWaterStates, PreTreatmentConsumableSelfTestStates, PreTreatmentNoCartSelfTestStates, PreTreatmentCartridgeInstallStates, PreTreatmentDrySelfTestsStates, PreTreatmentPrimeStates, PreTreatmentRecircStates, PreTreatmentPatientConnectionStates, PreTreatmentWetSelfTestStates, HDPreTreatmentReservoirMgmtStates +from dialin.hd.reservoirs import HDReservoirStates + hd_simulator = HDSimulator() dg_simulator = DGSimulator() @@ -31,11 +33,11 @@ HEPARIN_SYRINGE = 3 SALINE_BAG = 4 NUM_OF_CARTRIDGE_INSTALLATION_SCREENS = 5 -NUM_OF_CARTRIDGE_CONNECTION_SCREENS = 6 +NUM_OF_CARTRIDGE_CONNECTION_SCREENS = 9 NUM_OF_HEPARIN_SYRINGE_SCREENS = 2 -NUM_OF_SALINE_BAG_SCREENS = 3 +NUM_OF_SALINE_BAG_SCREENS = 4 CARTRIDGE_INSTALLATION_TEXT = "Open the front panel door." -CARTRIDGE_CONNECTION_TEXT = "Connect the cartridge blood lines to the dialyzer." +CARTRIDGE_CONNECTION_TEXT = "Connect arterial and venous bloodlines using the recirculation connector." HEPARIN_SYRINGE_TEXT = "Fill a syringe with heparin and connect the cartridge heparin tubing line." time_interval = "25min" @@ -84,7 +86,7 @@ utility.verify_missing_object(names.o_disposable_leftImage_Image) for indicator in range(1, num_of_instruction, 1): verify_bullet_navigation(indicator, num_of_instruction) - if screen == SALINE_BAG: + if screen == SALINE_BAG or screen == HEPARIN_SYRINGE: verify_confirm_button(config.DISABLED) else: verify_next_button(config.DISABLED) @@ -93,10 +95,11 @@ else: verify_back_button(config.ENABLED) if indicator != num_of_instruction: + test.log(f"---> {indicator}") mouseClick(waitForObject(names.o_disposable_rightImage_Image)) utility.verify_missing_object(names.o_disposable_rightImage_Image) - if screen == SALINE_BAG: + if screen == SALINE_BAG or screen == HEPARIN_SYRINGE: verify_confirm_button(config.ENABLED) else: verify_next_button(config.ENABLED) @@ -113,14 +116,14 @@ utility.verify_missing_object(names.o_disposable_rightImage_Image) for indicator in range(num_of_instruction, 0, -1): verify_bullet_navigation(indicator, num_of_instruction) - if ((indicator == num_of_instruction) and (screen == CARTRIDGE_INSTALLATION or screen == CARTRIDGE_CONNECTION or screen == HEPARIN_SYRINGE)): + if ((indicator == num_of_instruction) and (screen == CARTRIDGE_INSTALLATION or screen == CARTRIDGE_CONNECTION)): verify_next_button(config.ENABLED) else: - if (indicator == num_of_instruction) and (screen == SALINE_BAG): + if (indicator == num_of_instruction) and (screen == SALINE_BAG or screen == HEPARIN_SYRINGE): verify_confirm_button(config.ENABLED) else: verify_confirm_button(config.DISABLED) - if(indicator == num_of_instruction) and (screen != SALINE_BAG): + if(indicator == num_of_instruction) and (screen != SALINE_BAG and screen != HEPARIN_SYRINGE): verify_next_button(config.DISABLED) if screen == CARTRIDGE_INSTALLATION: verify_back_button(config.DISABLED) @@ -141,7 +144,7 @@ """ test.startSection("instruction bullet verification for screens") for instruction in range(1, num_of_instruction): - bullet_children = object.children(waitForObjectExists(utility.get_bullet_object(SCREEN_OBJ,(NUM_OF_PRETREATMENT_BULLETS + instruction) - 1))) + bullet_children = object.children(waitForObjectExists(utility.get_bullet_object(SCREEN_OBJ,(NUM_OF_PRETREATMENT_BULLETS ) - 1))) bullet_circle_color = bullet_children[0].color.name bullet_border_color = bullet_children[0].border.color.name if instruction <= num: @@ -222,8 +225,12 @@ of instructions is displayed """ test.startSection("Verifying the screen 1 of 'heparin syringe' of instructions is displayed") + #simulate the value for the display + hd_simulator.cmd_send_heparin_response(syringePumpVolumeDelivered = 0.2, syringePumpVolumeRequired = 0.1) + names.o_heparin_syringe_screen1_text["text"] = utility.get_heparin_string_with_mock(originalString = names.o_heparin_syringe_screen1_text["text"]) expected_screen_text = waitForObject(names.o_heparin_syringe_screen1_text) - test.compare(expected_screen_text.text, HEPARIN_SYRINGE_TEXT, "{} Should be displayed when navigated to Phase 2 by using BACK button".format(HEPARIN_SYRINGE_TEXT)) + hep_text_replaced = utility.get_heparin_string_with_mock(originalString = HEPARIN_SYRINGE_TEXT) + test.compare(expected_screen_text.text, hep_text_replaced, "{} Should be displayed when navigated to Phase 2 by using BACK button".format(hep_text_replaced)) test.endSection() def verify_confirm_button(condition): @@ -251,12 +258,19 @@ and 'NEXT' button """ test.startSection("Verifying functionality of the cartridge installation screen's left, right navigation and 'NEXT' button") - hd_simulator.cmd_set_hd_operation_mode_data(HDOpModes.MODE_PRET.value, PreTreatmentNoCartSelfTestStates.NO_CART_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE.value) - hd_simulator.cmd_send_pre_treatment_state_data(sub_mode=PreTreatmentSubModes.HD_PRE_TREATMENT_SELF_TEST_NO_CART_STATE.value, water_sample_state=PreTreatmentSampleWaterStates.SAMPLE_WATER_SETUP_STATE.value,consumables_self_test_state=PreTreatmentConsumableSelfTestStates.CONSUMABLE_SELF_TESTS_INSTALL_STATE.value, - no_cartridge_self_test_state=PreTreatmentNoCartSelfTestStates.NO_CART_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE.value,installation_state=PreTreatmentCartridgeInstallStates.CARTRIDGE_INSTALL_STATE.value, dry_self_test_state=PreTreatmentDrySelfTestsStates.DRY_SELF_TESTS_START_STATE.value, - prime_state=PreTreatmentPrimeStates.HD_PRIME_WAIT_FOR_USER_START_STATE.value,recirculate_state=PreTreatmentRecircStates.PRE_TREATMENT_RECIRC_STATE.value, patient_connection_state=PreTreatmentPatientConnectionStates.PRE_TREATMENT_PAT_CONN_WAIT_FOR_UF_VOL_STATE.value, - wet_selftests_state=PreTreatmentWetSelfTestStates.WET_SELF_TESTS_START_STATE.value, pretreatment_rsrvr_state=HDPreTreatmentReservoirMgmtStates.PRE_TREATMENT_RESERVOIR_MGMT_START_STATE.value) - + hd_simulator.cmd_send_hd_operation_mode(op_mode = HDOpModes.MODE_PRET.value , sub_mode = HDStandbyStates.STANDBY_START_STATE.value) + hd_simulator.cmd_send_pre_treatment_state_data(sub_mode=PreTreatmentSubModes.HD_PRE_TREATMENT_CART_INSTALL_STATE.value, + water_sample_state=PreTreatmentSampleWaterStates.SAMPLE_WATER_SETUP_STATE.value, + consumables_self_test_state=PreTreatmentConsumableSelfTestStates.CONSUMABLE_SELF_TESTS_INSTALL_STATE.value, + no_cartridge_self_test_state=PreTreatmentNoCartSelfTestStates.NO_CART_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE.value, + installation_state=PreTreatmentCartridgeInstallStates.CARTRIDGE_INSTALL_STATE.value, + dry_self_test_state=PreTreatmentDrySelfTestsStates.DRY_SELF_TESTS_START_STATE.value, + prime_state=PreTreatmentPrimeStates.HD_PRIME_WAIT_FOR_USER_START_STATE.value, + recirculate_state=PreTreatmentRecircStates.PRE_TREATMENT_RECIRC_STATE.value, + patient_connection_state=PreTreatmentPatientConnectionStates.PRE_TREATMENT_PAT_CONN_WAIT_FOR_UF_VOL_STATE.value, + wet_selftests_state=PreTreatmentWetSelfTestStates.WET_SELF_TESTS_START_STATE.value, + pretreatment_rsrvr_state=HDReservoirStates.TREATMENT_RESERVOIR_MGMT_START_STATE.value) + verify_right_instruction_navigation(NUM_OF_CARTRIDGE_INSTALLATION_SCREENS, CARTRIDGE_INSTALLATION) verify_left_instruction_navigation(NUM_OF_CARTRIDGE_INSTALLATION_SCREENS, CARTRIDGE_INSTALLATION) verify_right_instruction_navigation(NUM_OF_CARTRIDGE_INSTALLATION_SCREENS, CARTRIDGE_INSTALLATION) @@ -284,6 +298,7 @@ click_on_next_button() verify_right_instruction_navigation(NUM_OF_CARTRIDGE_CONNECTION_SCREENS, CARTRIDGE_CONNECTION) click_on_next_button() + hd_simulator.cmd_send_pre_treatment_patient_connection_confirm_response(accepted=True, reason=0) test.endSection() def verify_functionality_for_heparin_syringe(): @@ -314,7 +329,7 @@ saline bag screen's left, right navigation and 'NEXT', 'BACK' and 'CONFIRM' button """ - test.startSection("Verifying functionality of the saline bag") + test.startSection("Verifying functionality of the saline bag") verify_right_instruction_navigation(NUM_OF_SALINE_BAG_SCREENS, SALINE_BAG) verify_left_instruction_navigation(NUM_OF_SALINE_BAG_SCREENS, SALINE_BAG) click_on_back_button() @@ -417,7 +432,7 @@ test.compare(waitForObject(names.o_PreTreatmentCreate_heparinTypeRect_GridSelection).labels, config.HEPARIN_TYPE, "Parameter should be -> "+str(config.HEPARIN_TYPE)) mouseClick(waitForObject(names.o_PreTreatmentCreate_heparinTypeRect0_TouchRect)) test.compare(waitForObject(names.o_PreTreatmentCreate_heparinTypeRect0_TouchRect).text.text, config.HEPARIN_TYPE, "heparin text should be :"+ str(config.HEPARIN_TYPE)) - test.compare(waitForObject(names.o_PreTreatmentCreate_heparinTypeRect0_TouchRect).bgColor.name, config.TREATMENT_HIGHLIGHTED_COLOR, str(config.HEPARIN_TYPE)+" checkbox should be highlighted") + test.compare(waitForObject(names.o_PreTreatmentCreate_heparinTypeRect0_TouchRect).color.name, config.TREATMENT_HIGHLIGHTED_COLOR, str(config.HEPARIN_TYPE)+" checkbox should be highlighted") test.endSection() #scroll the screen to the title dialyste rectangle @@ -427,7 +442,7 @@ test.startSection("verification of acid concentrate type") test.compare(waitForObject(names.o_PreTreatmentCreate_acidConcentrateRect_GridSelection).title, config.ACID_CONCENTRATE_TITLE, "Parameter should be -> "+str(config.ACID_CONCENTRATE_TITLE)) mouseClick(names.o_PreTreatmentCreate_acidConcentrateRect0_TouchRect) - test.compare(waitForObject(names.o_PreTreatmentCreate_acidConcentrateRect0_TouchRect).bgColor.name, config.TREATMENT_HIGHLIGHTED_COLOR, str(config.HEPARIN_TYPE)+" checkbox should be highlighted") + test.compare(waitForObject(names.o_PreTreatmentCreate_acidConcentrateRect0_TouchRect).color.name, config.TREATMENT_HIGHLIGHTED_COLOR, str(config.HEPARIN_TYPE)+" checkbox should be highlighted") test.compare(waitForObject(names.o_PreTreatmentCreate_acidConcentrateRect0_TouchRect).text.text, config.ACID_CONCENTRATE[0], "Acid concentrate value should be :"+str(config.ACID_CONCENTRATE[0])) test.endSection() @@ -438,7 +453,7 @@ test.startSection("verification of bicarbonate concentrate rectangle") test.compare(waitForObject(names.o_PreTreatmentCreate_bicarbonateConcentrateRect_GridSelection).title, config.BICARBONATE_CONCENTRATE_TITLE, "Parameter should be -> "+str(config.BICARBONATE_CONCENTRATE_TITLE)) mouseClick(names.o_PreTreatmentCreate_bicarbonateConcentrateRect0_TouchRect) - test.compare(waitForObject(names.o_PreTreatmentCreate_bicarbonateConcentrateRect0_TouchRect).bgColor.name, config.TREATMENT_HIGHLIGHTED_COLOR, str(config.HEPARIN_TYPE)+" checkbox should be highlighted") + test.compare(waitForObject(names.o_PreTreatmentCreate_bicarbonateConcentrateRect0_TouchRect).color.name, config.TREATMENT_HIGHLIGHTED_COLOR, str(config.HEPARIN_TYPE)+" checkbox should be highlighted") test.compare(waitForObject(names.o_PreTreatmentCreate_bicarbonateConcentrateRect0_TouchRect).text.text, config.BICARBONATE_CONCENTRATE, "Bicarbonate concentrate value should be :"+str(config.ACID_CONCENTRATE[0])) test.endSection() @@ -449,7 +464,7 @@ test.startSection("verification of dialysate rectangle") test.compare(waitForObject(names.o_PreTreatmentCreate_dialyzerTypeRect_GridSelection).title, config.DIALYZER_TYPE_TITLE, "Parameter should be -> "+str(config.DIALYZER_TYPE_TITLE)) mouseClick(names.o_PreTreatmentCreate_dialyzerTypeRect0_TouchRect) - test.compare(waitForObject(names.o_PreTreatmentCreate_dialyzerTypeRect0_TouchRect).bgColor.name, config.TREATMENT_HIGHLIGHTED_COLOR, str(config.HEPARIN_TYPE)+" checkbox should be highlighted") + test.compare(waitForObject(names.o_PreTreatmentCreate_dialyzerTypeRect0_TouchRect).color.name, config.TREATMENT_HIGHLIGHTED_COLOR, str(config.HEPARIN_TYPE)+" checkbox should be highlighted") test.compare(waitForObject(names.o_PreTreatmentCreate_dialyzerTypeRect0_TouchRect).text.text, config.DIALYZER_TYPE[0], "Dialyzer type value should be :"+str(config.DIALYZER_TYPE[0])) @@ -464,23 +479,15 @@ test_custom_treatment_slider(names.o_PreTreatmentCreate_dialysateTemperatureSlider_Slider, 35, config.CREATE_TREATMENT_SLIDER_VALUES["dialysate_temperature"], config.DIALYSATE_TEMPERATURE) test.endSection() - #scroll the screen to the title rinseback flow rate - parameter_object = set_parameter_type(text=config.RINSEBACK_FLOW_RATE) - utility.scroll_to_zone(parameter_object, names.o_treatment_create_flickable) - - set_arterial_low_and_high() - set_venous_low_and_high() - test.startSection("verification of blood pressure measurement interval values") + test.compare(waitForObject(names.o_PreTreatmentCreate_BPInterval_OFF_Text).text,"OFF", "Text should be -> "+"OFF") + mouseClick(waitForObject(names.o_PreTreatmentCreate_BPInterval_Switch)) + mouseClick(names.o_PreTreatmentCreate_BPInterval_Switch) + utils.waitForGUI(1) test.compare(waitForObject(names.o_PreTreatmentCreate_bloodPressureMeasurementInterval_SliderCreateTreatment).label, config.BLOOD_PRESSURE_MEASUREMENT_INTERVAL, "Parameter should be -> "+str(config.BLOOD_PRESSURE_MEASUREMENT_INTERVAL)) test_custom_treatment_slider(names.o_PreTreatmentCreate_bloodPressureMeasurementIntervalSlider_Slider, 25, config.CREATE_TREATMENT_SLIDER_VALUES["blood_pressure_measurement_interval"], config.BLOOD_PRESSURE_MEASUREMENT_INTERVAL) test.endSection() - - test.startSection("verification of rinseback flow rate values") - test.compare(waitForObject(names.o_PreTreatmentCreate_rinsebackFlowRate_SliderCreateTreatment).label, config.RINSEBACK_FLOW_RATE, "Parameter should be -> "+str(config.RINSEBACK_FLOW_RATE)) - test_custom_treatment_slider(names.o_PreTreatmentCreate_rinsebackFlowRateSlider_Slider, 50, config.CREATE_TREATMENT_SLIDER_VALUES["rinseback_flow_rate"], config.RINSEBACK_FLOW_RATE) - test.endSection() test.endSection() @@ -576,17 +583,16 @@ pretreatment_rsrvr_state=HDPreTreatmentReservoirMgmtStates.PRE_TREATMENT_RESERVOIR_MGMT_START_STATE.value) utility.verify_page_step_indicator(SCREEN_OBJ, PRE_TREATMENT_STEP, config.PRE_TREATMENT_SCREENS) + test.endSection() - test.endSection() - def main(): utils.tstStart(__file__) startApplication(config.AUT_NAME) verify_disposables_screen() - #navigate_to_disposables_screen_from_create_custom_treatment() + navigate_to_disposables_screen_from_create_custom_treatment() verify_functionality_for_cartridge_installation() utils.waitForGUI(1)