Index: tst_pre_treatment_priming/test.py =================================================================== diff -u -r2e73714b63ae5fd2ef8b5acca5043e136454feff -re3f67a6e78d267bb99596ba1ce439c6fe7d89a25 --- tst_pre_treatment_priming/test.py (.../test.py) (revision 2e73714b63ae5fd2ef8b5acca5043e136454feff) +++ tst_pre_treatment_priming/test.py (.../test.py) (revision e3f67a6e78d267bb99596ba1ce439c6fe7d89a25) @@ -13,7 +13,7 @@ import names from configuration import config, utility -from dialin.common.hd_defs import PreTreatmentSubModes, HDOpModes, HDStandbyStates, PreTreatmentSampleWaterStates, PreTreatmentConsumableSelfTestStates, PreTreatmentNoCartSelfTestStates, PreTreatmentCartridgeInstallStates, PreTreatmentDrySelfTestsStates, PreTreatmentPrimeStates, PreTreatmentRecircStates, PreTreatmentPatientConnectionStates, PreTreatmentWetSelfTestStates +from dialin.common.hd_defs import PreTreatmentSubModes, HDOpModes, HDStandbyStates, PreTreatmentSampleWaterStates, PreTreatmentConsumableSelfTestStates, PreTreatmentNoCartSelfTestStates, PreTreatmentCartridgeInstallStates, PreTreatmentDrySelfTestsStates, PreTreatmentPrimeStates, PreTreatmentRecircStates, PreTreatmentPatientConnectionStates, PreTreatmentWetSelfTestStates, HDPreTreatmentReservoirMgmtStates from dialin.hd.reservoirs import HDReservoirStates from dialin.ui import utils from dialin.ui.hd_simulator import HDSimulator @@ -29,13 +29,13 @@ "DRY_SELF_TESTS_PRESSURE_SENSORS_NORMAL_STATE" : 6, "DRY_SELF_TESTS_SYRINGE_PUMP_PRIME_STATE" : 7, "DRY_SELF_TESTS_SYRINGE_PUMP_OCCLUSION_DETECTION_STATE" : 8, "DRY_SELF_TESTS_STOPPED_STATE" : 9, "DRY_SELF_TESTS_COMPLETE_STATE" : 10} -PRIMING_STATES = {"HD_PRIME_START_STATE" : 0, "HD_PRIME_WAIT_FOR_USER_START_STATE" : 1, - "HD_PRIME_SALINE_SETUP_STATE" : 2, "HD_PRIME_SALINE_PURGE_AIR_STATE" : 3, - "HD_PRIME_SALINE_CIRC_BLOOD_CIRCUIT_STATE" : 4, "HD_PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE" : 5, - "HD_PRIME_DIALYSATE_DIALYSER_STATE" : 6, "HD_PRIME_SALINE_DIALYSER_SETUP_STATE": 7, - "HD_PRIME_SALINE_DIALYSER_STATE": 8, "HD_PRIME_RESERVOIR_TWO_FILL_COMPLETE_STATE" : 9, - "HD_PRIME_DIALYSATE_BYPASS_STATE" : 10, "HD_PRIME_WET_SELF_TESTS_STATE" : 11, - "HD_PRIME_PAUSE" : 12, "HD_PRIME_COMPLETE" :13} +PRIMING_STATES = {"HD_PRIME_WAIT_FOR_USER_START_STATE" : 0, + "HD_PRIME_SALINE_SETUP_STATE" : 1, "HD_PRIME_SALINE_PURGE_AIR_STATE" : 2, + "HD_PRIME_SALINE_CIRC_BLOOD_CIRCUIT_STATE" : 3, "HD_PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE" : 4, + "HD_PRIME_DIALYSATE_DIALYSER_STATE" : 5, "HD_PRIME_SALINE_DIALYSER_SETUP_STATE": 6, + "HD_PRIME_SALINE_DIALYSER_STATE": 7, "HD_PRIME_RESERVOIR_TWO_FILL_COMPLETE_STATE" : 8, + "HD_PRIME_DIALYSATE_BYPASS_STATE" : 9, "HD_PRIME_WET_SELF_TESTS_STATE" : 10, + "HD_PRIME_PAUSE" : 11, "HD_PRIME_COMPLETE" :12} RECIRCULATE_STATES = {"PRE_TREATMENT_RECIRC_STATE" : PreTreatmentRecircStates.PRE_TREATMENT_RECIRC_STATE.value, "PRE_TREATMENT_RECIRC_STOPPED_STATE" : PreTreatmentRecircStates.PRE_TREATMENT_RECIRC_STOPPED_STATE.value} @@ -53,9 +53,11 @@ 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) - title = (waitForObjectExists(utility.self_test_dry_check_list_text(config.BEGIN_PRIME_TITLE))).text - test.compare(title, config.BEGIN_PRIME_TITLE, "{} title should be displayed when user is navigating to self test dry screen".format(config.BEGIN_PRIME_TITLE)) - utility.verify_page_step_indicator(names.o_PreTreatmentStack_pretreatmentPrimeStack_PreTreatmentPrimeStack, PRE_TREATMENT_STEP, config.PRE_TREATMENT_SCREENS) + # title = (waitForObjectExists(utility.self_test_dry_check_list_text(config.BEGIN_PRIME_TITLE))).text + # + # test.compare(title, config.BEGIN_PRIME_TITLE, "{} title should be displayed when user is navigating to self test dry screen".format(config.BEGIN_PRIME_TITLE)) + SCREEN_OBJ = names.o_PreTreatmentStack_pretreatmentPrimeStack_PreTreatmentPrimeStack + utility.verify_page_step_indicator(SCREEN_OBJ, PRE_TREATMENT_STEP, config.PRE_TREATMENT_SCREENS) test.endSection() @@ -65,17 +67,25 @@ screen and verify the 'Priming' title is displayed """ - test.startSection("Navigating to priming screen and verify the begin 'Priming' title is displayed") - hd_simulator.cmd_send_pre_treatment_state_data(sub_mode=PreTreatmentSubModes.HD_PRE_TREATMENT_PRIME_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_START_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_START_STATE.value,recirculate_state=PreTreatmentRecircStates.PRE_TREATMENT_RECIRC_STATE.value, patient_connection_state=PreTreatmentPatientConnectionStates.PATIENT_CONNECTION_STATE.value) - + # test.startSection("Navigating to priming screen and verify the begin 'Priming' title is displayed") + # hd_simulator.cmd_send_pre_treatment_state_data(sub_mode=PreTreatmentSubModes.HD_PRE_TREATMENT_PRIME_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_HOME_IDLE_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_USER_CONFIRM_STATE.value, + # wet_selftests_state = PreTreatmentWetSelfTestStates.WET_SELF_TESTS_START_STATE.value, + # pretreatment_rsrvr_state = HDPreTreatmentReservoirMgmtStates.PRE_TREATMENT_RESERVOIR_MGMT_START_STATE.value) + test.startSection("Navigating to self test dry screen and verify the 'Begin Prime' title is displayed") + hd_simulator.cmd_set_hd_operation_mode_data(HDOpModes.MODE_PRET.value,PreTreatmentPrimeStates.HD_PRIME_WAIT_FOR_USER_START_STATE .value) + hd_simulator.cmd_send_pre_treatment_state_data(sub_mode=HDOpModes.MODE_PRET.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) + title = (waitForObject(utility.self_test_dry_check_list_text(config.PRIMING_TITLE))).text test.compare(title, config.PRIMING_TITLE, "{} title should be displayed when user is navigating to 'Priming' screen".format(config.PRIMING_TITLE)) utility.verify_page_step_indicator(names.o_PreTreatmentStack_pretreatmentPrimeStack_PreTreatmentPrimeStack, PRE_TREATMENT_STEP, config.PRE_TREATMENT_SCREENS) test.endSection() - - + + def verify_dry_states(): """ Method to simulating different states @@ -85,9 +95,17 @@ test.startSection("Simulating different states of self dry test and verifying the busy and check indicator") for state, index in SELF_TEST_DRY_STATES.items(): test.startSection("Passing {} state".format(state)) - hd_simulator.cmd_send_pre_treatment_state_data(sub_mode=HDOpModes.MODE_PRET.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_START_STATE.value,installation_state=PreTreatmentCartridgeInstallStates.CARTRIDGE_INSTALL_STATE.value, dry_self_test_state=index, - prime_state=PreTreatmentPrimeStates.HD_PRIME_START_STATE.value,recirculate_state=PreTreatmentRecircStates.PRE_TREATMENT_RECIRC_STATE.value, patient_connection_state=PreTreatmentPatientConnectionStates.PATIENT_CONNECTION_STATE.value) + hd_simulator.cmd_send_pre_treatment_state_data(sub_mode=HDOpModes.MODE_PRET.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_HOME_IDLE_STATE.value, + installation_state=PreTreatmentCartridgeInstallStates.CARTRIDGE_INSTALL_STATE.value, + dry_self_test_state=index, + 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_USER_CONFIRM_STATE.value, + wet_selftests_state = PreTreatmentWetSelfTestStates.WET_SELF_TESTS_START_STATE.value, + pretreatment_rsrvr_state = HDPreTreatmentReservoirMgmtStates.PRE_TREATMENT_RESERVOIR_MGMT_START_STATE.value) if (state == "DRY_SELF_TESTS_STATE") or (state == "DRY_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE"): verify_indicators(None, config.TEST_DRY_STEPS) @@ -131,8 +149,11 @@ for state, index in RECIRCULATE_STATES.items(): test.startSection("Passing {} state".format(state)) hd_simulator.cmd_send_pre_treatment_state_data(sub_mode=PreTreatmentSubModes.HD_PRE_TREATMENT_RECIRCULATE_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_START_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_START_STATE.value,recirculate_state=index, patient_connection_state=PreTreatmentPatientConnectionStates.PATIENT_CONNECTION_STATE.value) + no_cartridge_self_test_state=PreTreatmentNoCartSelfTestStates.NO_CART_SELF_TESTS_HOME_IDLE_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=index, patient_connection_state=PreTreatmentPatientConnectionStates.PRE_TREATMENT_PAT_CONN_WAIT_FOR_USER_CONFIRM_STATE.value, + wet_selftests_state = PreTreatmentWetSelfTestStates.WET_SELF_TESTS_START_STATE.value, + pretreatment_rsrvr_state = HDPreTreatmentReservoirMgmtStates.PRE_TREATMENT_RESERVOIR_MGMT_START_STATE.value) + verify_indicators(config.CHECK, "Blood Circuit Priming") verify_indicators(config.CHECK, "Dialysate Circuit Priming") @@ -154,17 +175,16 @@ for state, index in PRIMING_STATES.items(): test.startSection("Passing {} state".format(state)) hd_simulator.cmd_send_pre_treatment_state_data(sub_mode=PreTreatmentSubModes.HD_PRE_TREATMENT_PRIME_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_START_STATE.value,installation_state=PreTreatmentCartridgeInstallStates.CARTRIDGE_INSTALL_STATE.value, dry_self_test_state=PreTreatmentDrySelfTestsStates.DRY_SELF_TESTS_START_STATE.value, - prime_state=index,recirculate_state=PreTreatmentRecircStates.PRE_TREATMENT_RECIRC_STATE.value, patient_connection_state=PreTreatmentPatientConnectionStates.PATIENT_CONNECTION_STATE.value) - - if (state == "HD_PRIME_START_STATE") or (state == "HD_PRIME_WAIT_FOR_USER_START_STATE") : + no_cartridge_self_test_state=PreTreatmentNoCartSelfTestStates.NO_CART_SELF_TESTS_HOME_IDLE_STATE.value,installation_state=PreTreatmentCartridgeInstallStates.CARTRIDGE_INSTALL_STATE.value, dry_self_test_state=PreTreatmentDrySelfTestsStates.DRY_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE.value, + prime_state=index, + recirculate_state=PreTreatmentRecircStates.PRE_TREATMENT_RECIRC_STATE.value, patient_connection_state=PreTreatmentPatientConnectionStates.PRE_TREATMENT_PAT_CONN_WAIT_FOR_USER_CONFIRM_STATE.value, + wet_selftests_state = PreTreatmentWetSelfTestStates.WET_SELF_TESTS_STOPPED_STATE.value, + pretreatment_rsrvr_state = HDPreTreatmentReservoirMgmtStates.PRE_TREATMENT_RESERVOIR_MGMT_START_STATE.value) + utils.waitForGUI(1) + if (state == "HD_PRIME_WAIT_FOR_USER_START_STATE"): verify_indicators(None, config.PRIMING_STEPS) - if state == "HD_PRIME_WAIT_FOR_USER_START_STATE": - verify_start_priming_button(config.ENABLED) - hd_simulator.cmd_send_pre_treatment_prime_start_response(config.ACCEPTED, 0) - else: - verify_start_priming_button(config.DISABLED) - verify_continue_button(config.DISABLED) + verify_start_priming_button(config.ENABLED) + hd_simulator.cmd_send_pre_treatment_prime_start_response(config.ACCEPTED, 0) elif (state == "HD_PRIME_SALINE_SETUP_STATE") or (state == "HD_PRIME_SALINE_PURGE_AIR_STATE") or (state == "HD_PRIME_SALINE_CIRC_BLOOD_CIRCUIT_STATE"): verify_indicators(config.BUSY, "Blood Circuit Priming") verify_start_priming_button(config.DISABLED) @@ -222,7 +242,6 @@ else: for step in steps: busy_indicator, check_indicator = get_indicators(step) - test.compare(busy_indicator.visible, config.NOT_VISIBLE, "No indicator should display next to the {}".format(step)) test.compare(check_indicator.visible, config.NOT_VISIBLE, "No indicator should display next to the {}".format(step)) test.endSection() @@ -259,8 +278,12 @@ test.startSection("Verifying the 'Start Prime' button is enabled or disabled") start_prime_btn = waitForObjectExists(names.o_start_prime_btn) if expected_state: - test.compare(start_prime_btn.enabled, config.ENABLED, "'Start Prime' should be enabled") - mouseClick(waitForObjectExists(names.o_preTreatmentDisposablesPrime_startPrimeButton_TouchRect)) + if object.exists(names.o_preTreatmentDisposablesPrime_startPrimeButton_TouchRect): + testPassed = test.compare(start_prime_btn.enabled, config.ENABLED, "'Start Prime' should be enabled") + if testPassed: + mouseClick(waitForObjectExists(names.o_preTreatmentDisposablesPrime_startPrimeButton_TouchRect)) + else: + test.fail("Start prime button does not exist") else: test.compare(start_prime_btn.enabled, config.DISABLED, "'Start Prime' should be disabled") test.endSection() @@ -286,13 +309,13 @@ utils.tstStart(__file__) startApplication(config.AUT_NAME) - test.startSection("Verifying 'Self Dry Test' screen") - navigate_self_test_dry_screen() - utility.verify_countdown(config.BEGIN_PRIME_TITLE, config.TIME_OUT_DURATION_100, hd_simulator, dg_simulator) - utility.verify_countdown(config.BEGIN_PRIME_TITLE, config.TIME_OUT_DURATION_200, hd_simulator, dg_simulator) - utility.verify_countdown(config.BEGIN_PRIME_TITLE, config.TIME_OUT_DURATION_300, hd_simulator, dg_simulator) - verify_dry_states() - test.endSection() + # test.startSection("Verifying 'Self Dry Test' screen") + # navigate_self_test_dry_screen() + # # utility.verify_countdown(config.BEGIN_PRIME_TITLE, config.TIME_OUT_DURATION_100, hd_simulator, dg_simulator) + # # utility.verify_countdown(config.BEGIN_PRIME_TITLE, config.TIME_OUT_DURATION_200, hd_simulator, dg_simulator) + # # utility.verify_countdown(config.BEGIN_PRIME_TITLE, config.TIME_OUT_DURATION_300, hd_simulator, dg_simulator) + # verify_dry_states() + # test.endSection() test.startSection("Verifying 'Priming' screen") navigate_to_priming_screen() @@ -306,4 +329,4 @@ utils.tstDone() - \ No newline at end of file +