# Subject/Title: LDT -2174 Treatment Parameters (Create Rx) - SW - 02 - (New Design) - Q&R - 15: SIT - Software Integration Tests - Squish Qt # # Functionalities: Testing all functionalities of Treatment parameters validation mode(Create RX) # # Steps: # 1 Create RX: # - Validate all the values in Create Rx page # - Verify the validate functionality # - Verify the confirm button functionality # - Verify the qr code functionality # - Verfiy the edit button functionality # - Verify the clear all button functionality # - Verify the reject button functionality import names from names import * import squish from leahi_dialin.ui import utils from configuration import utility from leahi_dialin.ui.td_messaging import TD_Messaging from leahi_dialin.common.td_defs import TDOpModes from builtins import int as pyInt from squish import * td =TD_Messaging() PRE_TREATMENT_STEP = 0 PRE_TREATMENT_SCREENS = ["Create" , "Sample" , "Consumables" , "Disposables" , "Prime" , "BP/HR" , "Ultrafiltration" , "Connection" , "Start"] COMPLETE_COLOR = '#4696f7' CURRENT_COLOR = '#000000' PRESCRIPTION_TITLE = "Prescription" BLOOD_FLOW_RATE = "Blood Flow Rate" DIALYSATE_FLOW_RATE = "Dialysate Flow Rate" DURATION = "Duration" HEPARIN_BOLUS_VOLUME = "Heparin Bolus Volume" SALINE_BOLUS_VOLUME = "Saline Bolus Volume" OFF_TEXT = "OFF" HEPARIN_DISPENSING_RATE = "Heparin Dispensing Rate" HEPARIN_STOP_TIME = "Heparin Stop Time" DIALYSATE_TEMPERATURE = "Dialysate Temperature" BLOOD_PRESSURE_MEASUREMENT_INTERVAL = "BP Measurement Interval" ACID_CONCENTRATE_TITLE = "Acid Concentrate" BICARBONATE_CONCENTRATE_TITLE = "Bicarbonate Concentrate" DIALYZER_TYPE_TITLE = "Dialysate Temperature" #dictionary consist of slider [minimum value, slider buffer value, width buffer of slider] CREATE_TREATMENT_PARAMETER = { "Blood Flow Rate" : [60.0], "Dialysate Flow Rate" : [75.0], "Duration" : [75.0], "Heparin Bolus Volume" : [0.3], "Heparin Dispensing Rate" : [0.3], "Heparin Stop Time" : [75.0], "Saline Bolus Volume" : [200], "Dialysate Temperature" : [35.5], "BP Measurement Interval" : [10], "Rinseback Flow Rate" : [75], } CREATE_TREATMENT_PARAMETER_RANGE = { "Blood Flow Rate" : [50.0,270.0,500.0], "Dialysate Flow Rate" : [50.0,325.0,600.0], "Duration" : [60.0,270.0,480.0], "Heparin Bolus Volume" : [0.2,1.0,2.0], "Heparin Dispensing Rate" : [0.2,0.5,1.0], "Heparin Stop Time" : [60.0,480.0], "Saline Bolus Volume" : [100,200,300], "Dialysate Temperature" : [35.0, 37.5,38.0], "BP Measurement Interval" : [5,30,60], } CREATE_TREATMENT_PARAMETER_SLIDER = { "Blood Flow Rate" : [500.0], "Dialysate Flow Rate" : [600.0], "Duration" : [480.0], "Heparin Bolus Volume" : [2.0], "Heparin Dispensing Rate" : [1.0], "Heparin Stop Time" : [480.0], "Saline Bolus Volume" : [300], "Dialysate Temperature" : [38.0], "BP Measurement Interval" : [60], } CREATE_TREATMENT_SLIDER_VALUES = { "Blood Flow Rate" : [60, 10, 500], "Dialysate Flow Rate" : [50, 10, 600], "duration" : [60, 15, 28], "heparin_dispensing_rate" : [0.2, 0.1, 93], "heparin_bolus_volume" : [0.2, 0.1, 41], "heparin_stop_time" : [0, 10, 15.75], "saline_bolus" : [100, 100, 425], "dialysate_temperature" : [35, 0.5, 187.5], "arterial_pressure_limit_high" : [20, 10, 11.931], "blood_pressure_measurement_interval" : [5, 5, 60], } COLOR_CODES = "#ffa500" DIALYZER_TYPE = ["Diacap Pro 13H","Diacap Pro 16H", "Diacap Pro 19H", "Optiflux F160NRe", "Optiflux F180NRe", "Optiflux F200NRe","Optiflux F250NRe"] ACID_CONCENTRATE = ["2.0 K, 2.00 Ca, 1 Mg", "1.0 K, 2.50 Ca, 1 Mg","2.0 K, 2.50 Ca, 1 Mg","3.0 K, 2.50 Ca, 1 Mg"] CREATE_TREATMENT_PARAMETERS = ["Blood Flow Rate", "Dialysate Flow Rate", "Duration", "Heparin Bolus Volume", "Heparin Dispensing Rate", "Heparin Stop Time", "Acid Concentrate", "Bicarbonate Concentrate", "Dialyzer Type", "Dialysate Temperature"] CREATE_TREATEMENT_OBJ =[names.o_PreTreatmentCreate_bloodFlowRate_LabelUnitContainer ,names.o_PreTreatmentCreate_dialysateFlowRate_LabelUnitContainer, names.o_PreTreatmentCreate_duration_LabelUnitContainer ,names.o_PreTreatmentCreate_heparinBolusVolume_LabelUnitContainer, names.o_PreTreatmentCreate_heparinDispensingRate_LabelUnitContainer ,names.o_PreTreatmentCreate_heparinStopTime_LabelUnitContainer, names.o_PreTreatmentCreate_acidConcentrate_LabelUnitContainer ,names.o_PreTreatmentCreate_bicarbonateConcentrate_LabelUnitContainer, names.o_PreTreatmentCreate_dialyzerType_LabelUnitContainer ,names.o_PreTreatmentCreate_dialysateTemperature_LabelUnitContainer, names.o_PreTreatmentCreate_salineBolusVolume_LabelUnitContainer ] BUTTON_TYPE =["Select Rx","Edit Rx","Clear All"] VITALS = ["OFF","5","10","15","20","30","60"] BICARBONATE = ["Sodium Bicarbonate"] def verify_page_step_indicator(screen_obj, treatment_step, treatment_screens): """ Method to verify the Page Step indicators [the object on top of the screen which indicates the steps passed, current, remained] @param treatment_step : (int) indicates the Current treatment step """ test.startSection("verification of page step indicators") for page in range(len(treatment_screens)): bullet_children = object.children(squish.waitForObjectExists(utility.get_bullet_object(screen_obj, page))) bullet_circle_color = bullet_children[0].color.name bullet_border_color = bullet_children[0].border.color.name step_title = squish.waitForObjectExists(utility.get_text_object(screen_obj, treatment_screens[page])) #To verify the step indicators of the completed treatment screens if page < treatment_step: test.verify(squish.waitForObjectExists(utility.get_bullet_object(screen_obj, page)).complete) test.verify(not squish.waitForObjectExists(utility.get_bullet_object(screen_obj, page)).current) test.compare(bullet_circle_color, COMPLETE_COLOR) test.compare(bullet_border_color, COMPLETE_COLOR) test.compare(step_title.color.name, ENABLED_COLOR) #To verify the step indicators of the current treatment screen elif page == treatment_step: test.compare(bullet_border_color, COMPLETE_COLOR) #To verify the step indicators of the remaining treatment screens else: test.verify(not squish.waitForObjectExists(utility.get_bullet_object(screen_obj, page)).complete) test.compare(bullet_circle_color, CURRENT_COLOR) test.endSection() def verify_create_custom_treatment_parameter(): """ Method to set create custom treatment slider value based on slider buffer """ test.startSection("Method to set create custom treatment slider based on positive slider buffer") # set custom values for parameters test.startSection("Verification of blood flow values") test.compare(waitForObject(names.o_PreTreatmentCreate_bloodFlowRate_LabelUnitContainer).text, BLOOD_FLOW_RATE, "Parameter should be -> "+str(BLOOD_FLOW_RATE)) for blood_flow_rate in CREATE_TREATMENT_PARAMETER_RANGE[BLOOD_FLOW_RATE]: utility.set_value_based_on_target(names.o_PreTreatmentCreate_bloodFlowRateControl_ValueAdjuster, blood_flow_rate) test.endSection() test.startSection("Verification of dialysate flow values") test.compare(waitForObject(names.o_PreTreatmentCreate_dialysateFlowRate_LabelUnitContainer).text, DIALYSATE_FLOW_RATE, "Parameter should be -> "+str(DIALYSATE_FLOW_RATE)) for dialysate_flow_rate in CREATE_TREATMENT_PARAMETER_RANGE[DIALYSATE_FLOW_RATE]: utility.set_value_based_on_target(names.o_PreTreatmentCreate_dialysateFlowRateControl_ValueAdjuster, dialysate_flow_rate) test.endSection() test.startSection("Verification of duration values") test.compare(waitForObject(names.o_PreTreatmentCreate_duration_LabelUnitContainer).text, DURATION, "Parameter should be -> "+str(DURATION)) for duration in CREATE_TREATMENT_PARAMETER_RANGE[DURATION]: utility.set_value_based_on_target(names.o_PreTreatmentCreate_durationControl_ValueAdjuster, duration) test.endSection() test.startSection("Verification of heparin bolus volume values") test.compare(waitForObject(names.o_PreTreatmentCreate_heparinBolusVolume_LabelUnitContainer).text, HEPARIN_BOLUS_VOLUME, "Parameter should be -> "+str(HEPARIN_BOLUS_VOLUME)) mouseClick(waitForObject(names.o_PreTreatmentCreate_heparinBolusVolumeControl_ValueAdjuster)) for heparin_bolus_volume in CREATE_TREATMENT_PARAMETER_RANGE[HEPARIN_BOLUS_VOLUME]: utility.set_value_based_on_target(names.o_PreTreatmentCreate_heparinBolusVolumeControl_ValueAdjuster, heparin_bolus_volume) test.endSection() test.startSection("Verification of heparin dispensing rate values") test.compare(waitForObject(names.o_PreTreatmentCreate_heparinDispensingRate_LabelUnitContainer).text, HEPARIN_DISPENSING_RATE, "Parameter should be -> "+str(HEPARIN_DISPENSING_RATE)) mouseClick(waitForObject(names.o_PreTreatmentCreate_heparinDispensingRateControl_ValueAdjuster)) for heparin_dispensing_rate in CREATE_TREATMENT_PARAMETER_RANGE[HEPARIN_DISPENSING_RATE]: utility.set_value_based_on_target(names.o_PreTreatmentCreate_heparinDispensingRateControl_ValueAdjuster, heparin_dispensing_rate) test.endSection() test.startSection("Verification of heparin stop time values") #1. Change Duration -> Verify Heparin Stop Time "active" property is set to off utility.set_value_based_on_target(names.o_PreTreatmentCreate_durationControl_ValueAdjuster, 60) utility.set_value_based_on_target(names.o_PreTreatmentCreate_heparinBolusVolumeControl_ValueAdjuster, 0.4) utility.set_value_based_on_target(names.o_PreTreatmentCreate_heparinDispensingRateControl_ValueAdjuster, 0.3) utility.set_value_based_on_target(names.o_PreTreatmentCreate_heparinStopTimeControl_ValueAdjuster, 60) utility.set_value_based_on_target(names.o_PreTreatmentCreate_durationControl_ValueAdjuster, 75) heprain_Stop_time = waitForObject(names.o_PreTreatmentCreate_heparinStopTimeControl_ValueAdjuster) test.compare(heprain_Stop_time.isActive,False, "Heprain stop time active property is set to False") # 2. Change Heparin Dispensising Rate from 0.2 to OFF -> Verify Heparing Stop Time is set to OFF utility.set_value_based_on_target(names.o_PreTreatmentCreate_durationControl_ValueAdjuster, 60) utility.set_value_based_on_target(names.o_PreTreatmentCreate_heparinBolusVolumeControl_ValueAdjuster, 0.4) utility.set_value_based_on_target(names.o_PreTreatmentCreate_heparinDispensingRateControl_ValueAdjuster, 0.3) utility.set_value_based_on_target(names.o_PreTreatmentCreate_heparinStopTimeControl_ValueAdjuster, 60) utility.click_left_until_off(names.o_PreTreatmentCreate_heparinDispensingRateControl_ValueAdjuster) test.compare(waitForObjectExists(names.o_PreTreatmentCreate_heparinStopTime_OFF_Text).text,"OFF") # # 3. Change Heparin Dispensising Rate from OFF to 0.2 -> Verify Heparin Stop Time "active" property is set to off utility.set_value_based_on_target(o_PreTreatmentCreate_heparinDispensingRateControl_ValueAdjuster, 0.2) test.compare(waitForObjectExists(names.o_PreTreatmentCreate_heparinStopTime_OFF_Text).text,"-- --") # # 4. When Duration is set to a value -> Verify the max Heparin Stop Time is the Duration value that is set utility.set_value_based_on_target(names.o_PreTreatmentCreate_durationControl_ValueAdjuster, 90) utility.set_value_based_on_target(names.o_PreTreatmentCreate_heparinStopTimeControl_ValueAdjuster, 90) test.compare(waitForObjectExists(names.o_PreTreatmentCreate_heparinStopTimeControl_ValueAdjuster).value,90.0) obj = waitForObject(names.o_PreTreatmentCreate_heparinStopTimeControl_ValueAdjuster) right_arrow =utility.findObjectById(obj ,"_rightArrow") test.compare(not right_arrow.enabled, True, "Right arrow is disabled in Heparin stop time field") utility.set_value_based_on_target(names.o_PreTreatmentCreate_heparinDispensingRateControl_ValueAdjuster, "0.2") utility.set_value_based_on_target(names.o_PreTreatmentCreate_durationControl_ValueAdjuster, "480") test.compare(waitForObject(names.o_PreTreatmentCreate_heparinStopTime_LabelUnitContainer).text, HEPARIN_STOP_TIME, "Parameter should be -> "+str(HEPARIN_STOP_TIME)) for heparin_stop_time in CREATE_TREATMENT_PARAMETER_RANGE[HEPARIN_STOP_TIME]: utility.set_value_based_on_target(names.o_PreTreatmentCreate_heparinStopTimeControl_ValueAdjuster, heparin_stop_time) test.endSection() test.startSection("Verification of Dialysate Temperature") test.compare(waitForObject(names.o_PreTreatmentCreate_dialysateTemperature_LabelUnitContainer).text,DIALYSATE_TEMPERATURE , "Parameter should be -> "+str(DIALYSATE_TEMPERATURE)) for dialysate_temperature in CREATE_TREATMENT_PARAMETER_RANGE[DIALYSATE_TEMPERATURE]: utility.set_value_based_on_target(names.o_PreTreatmentCreate_dialysateTemperatureControl_ValueAdjuster,dialysate_temperature) test.endSection() test.startSection("Verification of saline bolus values") test.compare(waitForObject(names.o_PreTreatmentCreate_salineBolusVolume_LabelUnitContainer).text, SALINE_BOLUS_VOLUME, "Parameter should be -> "+str(SALINE_BOLUS_VOLUME)) for saline_bolus in CREATE_TREATMENT_PARAMETER_RANGE[SALINE_BOLUS_VOLUME]: utility.set_value_based_on_target(names.o_PreTreatmentCreate_salineBolusVolumeControl_ValueAdjuster, saline_bolus) test.endSection() test.startSection("Verification of acid concentrate type") test.compare(waitForObject(names.o_PreTreatmentCreate_acidConcentrate_LabelUnitContainer).text, ACID_CONCENTRATE_TITLE, "Parameter should be -> "+str(ACID_CONCENTRATE_TITLE)) mouseClick(waitForObject(names.o_acidConcentrate_editbutton)) test.compare(waitForObject(names.o_PreTreatmentCreate_acidConcentrate_Popup_Text).text, ACID_CONCENTRATE_TITLE, "Parameter should be -> "+str(ACID_CONCENTRATE_TITLE)) mouseClick(waitForObject(names.o_potassium_leftArrow_IconButton)) mouseClick(waitForObject(names.o_calcium_leftArrow_IconButton)) mouseClick(waitForObject(names.o_saveButton_TouchRect)) utility.select_different_dropdown(names.o_PreTreatmentCreate_acidConcentrateComboBox_BaseComboBox,ACID_CONCENTRATE,0) test.compare(waitForObject(names.o_PreTreatmentCreate_acidConcentrateComboBox_BaseComboBox).currentText, ACID_CONCENTRATE[0], "Acid concentrate value should be :"+str(ACID_CONCENTRATE[0])) utility.select_different_dropdown(names.o_PreTreatmentCreate_acidConcentrateComboBox_BaseComboBox,ACID_CONCENTRATE,1) test.compare(waitForObject(names.o_PreTreatmentCreate_acidConcentrateComboBox_BaseComboBox).currentText, ACID_CONCENTRATE[1], "Acid concentrate value should be :"+str(ACID_CONCENTRATE[1])) utility.select_different_dropdown(names.o_PreTreatmentCreate_acidConcentrateComboBox_BaseComboBox,ACID_CONCENTRATE,2) test.compare(waitForObject(names.o_PreTreatmentCreate_acidConcentrateComboBox_BaseComboBox).currentText, ACID_CONCENTRATE[2], "Acid concentrate value should be :"+str(ACID_CONCENTRATE[2])) utility.select_different_dropdown(names.o_PreTreatmentCreate_acidConcentrateComboBox_BaseComboBox,ACID_CONCENTRATE,3) test.compare(waitForObject(names.o_PreTreatmentCreate_acidConcentrateComboBox_BaseComboBox).currentText, ACID_CONCENTRATE[3], "Acid concentrate value should be :"+str(ACID_CONCENTRATE[3])) test.endSection() test.startSection("Verification of dialyzer type") test.compare(waitForObject(names.o_PreTreatmentCreate_dialysateTemperature_LabelUnitContainer).text, DIALYZER_TYPE_TITLE, "Parameter should be -> "+str(DIALYZER_TYPE_TITLE)) utility.select_different_dropdown(names.o_PreTreatmentCreate_dialyzerTypeComboBox_BaseComboBox,DIALYZER_TYPE,0) test.compare(waitForObject(names.o_PreTreatmentCreate_dialyzerTypeComboBox_BaseComboBox).currentText, DIALYZER_TYPE[0], "Dialyzer type value should be :"+str(DIALYZER_TYPE[0])) utility.select_different_dropdown(names.o_PreTreatmentCreate_dialyzerTypeComboBox_BaseComboBox,DIALYZER_TYPE,1) test.compare(waitForObject(names.o_PreTreatmentCreate_dialyzerTypeComboBox_BaseComboBox).currentText, DIALYZER_TYPE[1], "Dialyzer type value should be :"+str(DIALYZER_TYPE[1])) utility.select_different_dropdown(names.o_PreTreatmentCreate_dialyzerTypeComboBox_BaseComboBox,DIALYZER_TYPE,2) test.compare(waitForObject(names.o_PreTreatmentCreate_dialyzerTypeComboBox_BaseComboBox).currentText, DIALYZER_TYPE[2], "Dialyzer type value should be :"+str(DIALYZER_TYPE[2])) utility.select_different_dropdown(names.o_PreTreatmentCreate_dialyzerTypeComboBox_BaseComboBox,DIALYZER_TYPE,3) test.compare(waitForObject(names.o_PreTreatmentCreate_dialyzerTypeComboBox_BaseComboBox).currentText, DIALYZER_TYPE[3], "Dialyzer type value should be :"+str(DIALYZER_TYPE[3])) utility.select_different_dropdown(names.o_PreTreatmentCreate_dialyzerTypeComboBox_BaseComboBox,DIALYZER_TYPE,4) test.compare(waitForObject(names.o_PreTreatmentCreate_dialyzerTypeComboBox_BaseComboBox).currentText, DIALYZER_TYPE[4], "Dialyzer type value should be :"+str(DIALYZER_TYPE[4])) utility.select_different_dropdown(names.o_PreTreatmentCreate_dialyzerTypeComboBox_BaseComboBox,DIALYZER_TYPE,5) test.compare(waitForObject(names.o_PreTreatmentCreate_dialyzerTypeComboBox_BaseComboBox).currentText, DIALYZER_TYPE[5], "Dialyzer type value should be :"+str(DIALYZER_TYPE[5])) utility.select_different_dropdown(names.o_PreTreatmentCreate_dialyzerTypeComboBox_BaseComboBox,DIALYZER_TYPE,6) test.compare(waitForObject(names.o_PreTreatmentCreate_dialyzerTypeComboBox_BaseComboBox).currentText, DIALYZER_TYPE[6], "Dialyzer type value should be :"+str(DIALYZER_TYPE[6])) test.endSection() utility.select_different_dropdown(names.o_PreTreatment_vitalsCombobox_BaseCombobox,VITALS,2) utility.select_different_dropdown(names.o_PreTreatmentCreate_bicarbonateConcentrateComboBox_BaseComboBox,BICARBONATE,0) test.verify(waitForObjectExists(names.o_PreTreatmentCreate_qrCode_Image), "QR Code is visible") #Verify all the parameters are populated test.compare(waitForObject(names.o_PreTreatmentCreate_bloodFlowRateControl_ValueAdjuster).value, 500) test.compare(waitForObject(names.o_PreTreatmentCreate_dialysateFlowRateControl_ValueAdjuster).value, 600) test.compare(waitForObject(names.o_PreTreatmentCreate_durationControl_ValueAdjuster).value, 480) test.compare("{:.1f}".format(waitForObject(names.o_PreTreatmentCreate_heparinBolusVolumeControl_ValueAdjuster).value), "0.4") test.compare("{:.1f}".format(waitForObject(names.o_PreTreatmentCreate_heparinDispensingRateControl_ValueAdjuster).value), "0.2") test.compare(waitForObject(names.o_PreTreatmentCreate_heparinStopTimeControl_ValueAdjuster).value, 480) test.compare(waitForObject(names.o_PreTreatmentCreate_dialysateTemperatureControl_ValueAdjuster).value, 38.0) test.compare(waitForObject(names.o_PreTreatmentCreate_salineBolusVolumeControl_ValueAdjuster).value, 300) confirmButton = waitForObject(names.o_PreTreatmentButton) test.compare(confirmButton.enabled, True, "Confirm button is enabled") mouseClick(waitForObject(confirmButton)) td.td_Treatment_Parameters_Validation( vAccepted = 1, vBloodFlowRateRejectReason = 0, vDialysateFlowRateRejectReason = 0, vTreatmentDurationRejectReason = 0, vSalineBolusVolumeRejectReason = 0, vHeparinStopTimeRejectReason = 0, vHeparinTypeRejectReason = 0, vAcidConcentrateRejectReason = 0, vBicarbonateConcentrateRejectReason = 0, vDialyzerTypeRejectReason = 0, vBloodPressureMeasureIntervalRejectReason = 0, vRinsebackFlowRateRejectReason = 0, vRinsebackVolumeRejectReason = 0, vArterialPressureLimitWindowRejectReason = 0, vVenousPressureLimitWindowRejectReason = 0, vVenousPressureLimitAsymtrcRejectReason = 0, vTrancembrncPressureLimitWindowRejectReason = 0, vDialysateTempRejectReason = 0, vHeparinDispensingRateRejectReason = 0, vHeparinBolusVolumeRejectReason = 0 ) td.td_operation_mode(TDOpModes.MODE_PRET.value, 0) test.endSection() def verify_editRx_Button(): test.startSection("Verfiy the edit button functionality") td.td_operation_mode(TDOpModes.MODE_STAN.value) td.td_operation_mode(TDOpModes.MODE_TPAR.value, 0 ) td.td_Treatment_Parameters_Validation( vAccepted = 1, vBloodFlowRateRejectReason = 0, vDialysateFlowRateRejectReason = 0, vTreatmentDurationRejectReason = 0, vSalineBolusVolumeRejectReason = 0, vHeparinStopTimeRejectReason = 0, vHeparinTypeRejectReason = 0, vAcidConcentrateRejectReason = 0, vBicarbonateConcentrateRejectReason = 0, vDialyzerTypeRejectReason = 0, vBloodPressureMeasureIntervalRejectReason = 0, vRinsebackFlowRateRejectReason = 0, vRinsebackVolumeRejectReason = 0, vArterialPressureLimitWindowRejectReason = 0, vVenousPressureLimitWindowRejectReason = 0, vVenousPressureLimitAsymtrcRejectReason = 0, vTrancembrncPressureLimitWindowRejectReason = 0, vDialysateTempRejectReason = 0, vHeparinDispensingRateRejectReason = 0, vHeparinBolusVolumeRejectReason = 0 ) utils.waitForGUI(3) mouseClick(waitForObjectExists(names.o_PreTreatmentButton)) utility.select_different_dropdown(names.o_prescription_menuButton,BUTTON_TYPE,0) test.startSection("Verification of blood flow values") test.compare(waitForObject(names.o_PreTreatmentCreate_bloodFlowRate_LabelUnitContainer).text, BLOOD_FLOW_RATE, "Parameter should be -> "+str(BLOOD_FLOW_RATE)) for blood_flow_rate in CREATE_TREATMENT_PARAMETER[BLOOD_FLOW_RATE]: utility.set_value_based_on_target(names.o_PreTreatmentCreate_bloodFlowRateControl_ValueAdjuster, blood_flow_rate) test.endSection() test.startSection("Verification of dialysate flow values") test.compare(waitForObject(names.o_PreTreatmentCreate_dialysateFlowRate_LabelUnitContainer).text, DIALYSATE_FLOW_RATE, "Parameter should be -> "+str(DIALYSATE_FLOW_RATE)) for dialysate_flow_rate in CREATE_TREATMENT_PARAMETER[DIALYSATE_FLOW_RATE]: utility.set_value_based_on_target(names.o_PreTreatmentCreate_dialysateFlowRateControl_ValueAdjuster, dialysate_flow_rate) test.endSection() test.startSection("Verification of duration values") test.compare(waitForObject(names.o_PreTreatmentCreate_duration_LabelUnitContainer).text, DURATION, "Parameter should be -> "+str(DURATION)) for duration in CREATE_TREATMENT_PARAMETER[DURATION]: utility.set_value_based_on_target(names.o_PreTreatmentCreate_durationControl_ValueAdjuster, duration) test.endSection() test.startSection("Verification of heparin bolus volume values") test.compare(waitForObject(names.o_PreTreatmentCreate_heparinBolusVolume_LabelUnitContainer).text, HEPARIN_BOLUS_VOLUME, "Parameter should be -> "+str(HEPARIN_BOLUS_VOLUME)) mouseClick(waitForObject(names.o_PreTreatmentCreate_heparinBolusVolumeControl_ValueAdjuster)) test.compare(OFF_TEXT, waitForObject(names.o_PreTreatmentCreate_heparinBolusVolume_Off_Text).text, "OFF text should be enabled") for heparin_bolus_volume in CREATE_TREATMENT_PARAMETER[HEPARIN_BOLUS_VOLUME]: utility.set_value_based_on_target(names.o_PreTreatmentCreate_heparinBolusVolumeControl_ValueAdjuster, heparin_bolus_volume) test.endSection() test.startSection("Verification of heparin dispensing rate values") test.compare(waitForObject(names.o_PreTreatmentCreate_heparinDispensingRate_LabelUnitContainer).text, HEPARIN_DISPENSING_RATE, "Parameter should be -> "+str(HEPARIN_DISPENSING_RATE)) mouseClick(waitForObject(names.o_PreTreatmentCreate_heparinDispensingRateControl_ValueAdjuster)) test.compare(OFF_TEXT, waitForObject(names.o_PreTreatmentCreate_heparinDispensingRateControl_OffText).text, "OFF text should be enabled") for heparin_dispensing_rate in CREATE_TREATMENT_PARAMETER[HEPARIN_DISPENSING_RATE]: utility.set_value_based_on_target(names.o_PreTreatmentCreate_heparinDispensingRateControl_ValueAdjuster, heparin_dispensing_rate) test.endSection() test.startSection("Verification of heparin stop time values") utility.set_value_based_on_target(names.o_PreTreatmentCreate_heparinDispensingRateControl_ValueAdjuster, "0.2") utility.set_value_based_on_target(names.o_PreTreatmentCreate_durationControl_ValueAdjuster, "480") test.compare(waitForObject(names.o_PreTreatmentCreate_heparinStopTime_LabelUnitContainer).text, HEPARIN_STOP_TIME, "Parameter should be -> "+str(HEPARIN_STOP_TIME)) for heparin_stop_time in CREATE_TREATMENT_PARAMETER[HEPARIN_STOP_TIME]: utility.set_value_based_on_target(names.o_PreTreatmentCreate_heparinStopTimeControl_ValueAdjuster, heparin_stop_time) test.endSection() test.startSection("Verification of Dialysate Temperature") test.compare(waitForObject(names.o_PreTreatmentCreate_dialysateTemperature_LabelUnitContainer).text,DIALYSATE_TEMPERATURE , "Parameter should be -> "+str(DIALYSATE_TEMPERATURE)) for dialysate_temperature in CREATE_TREATMENT_PARAMETER_RANGE[DIALYSATE_TEMPERATURE]: utility.set_value_based_on_target(names.o_PreTreatmentCreate_dialysateTemperatureControl_ValueAdjuster,dialysate_temperature) test.endSection() test.startSection("Verification of saline bolus values") test.compare(waitForObject(names.o_PreTreatmentCreate_salineBolusVolume_LabelUnitContainer).text, SALINE_BOLUS_VOLUME, "Parameter should be -> "+str(SALINE_BOLUS_VOLUME)) for saline_bolus in CREATE_TREATMENT_PARAMETER[SALINE_BOLUS_VOLUME]: utility.set_value_based_on_target(names.o_PreTreatmentCreate_salineBolusVolumeControl_ValueAdjuster, saline_bolus) test.endSection() td.td_operation_mode(TDOpModes.MODE_PRET.value, 0) test.endSection() def verfiy_clearall_Button(): test.startSection("Verfiy the clear all button functionality") td.td_operation_mode(TDOpModes.MODE_STAN.value) td.td_operation_mode(TDOpModes.MODE_TPAR.value, 0 ) td.td_Treatment_Parameters_Validation( vAccepted = 1, vBloodFlowRateRejectReason = 0, vDialysateFlowRateRejectReason = 0, vTreatmentDurationRejectReason = 0, vSalineBolusVolumeRejectReason = 0, vHeparinStopTimeRejectReason = 0, vHeparinTypeRejectReason = 0, vAcidConcentrateRejectReason = 0, vBicarbonateConcentrateRejectReason = 0, vDialyzerTypeRejectReason = 0, vBloodPressureMeasureIntervalRejectReason = 0, vRinsebackFlowRateRejectReason = 0, vRinsebackVolumeRejectReason = 0, vArterialPressureLimitWindowRejectReason = 0, vVenousPressureLimitWindowRejectReason = 0, vVenousPressureLimitAsymtrcRejectReason = 0, vTrancembrncPressureLimitWindowRejectReason = 0, vDialysateTempRejectReason = 0, vHeparinDispensingRateRejectReason = 0, vHeparinBolusVolumeRejectReason = 0 ) utils.waitForGUI(1) mouseClick(waitForObjectExists(names.o_PreTreatmentButton)) utility.select_different_dropdown(names.o_prescription_menuButton,BUTTON_TYPE,2) button = waitForObjectExists(names.o_PreTreatmentButton) test.verify(not button.enabled, "Validate that the button is disabled") test.endSection() def verify_custom_treatment_record_rejected(): """ Method to verify custom treatment record, if confirmation rejected """ test.startSection("Verifying custom treatment record, if confirmation rejected") td.td_operation_mode(TDOpModes.MODE_STAN.value) td.td_operation_mode(TDOpModes.MODE_TPAR.value, 0 ) td.td_Treatment_Parameters_Validation( vAccepted = 0, vBloodFlowRateRejectReason = 1, vDialysateFlowRateRejectReason = 1, vTreatmentDurationRejectReason = 1, vSalineBolusVolumeRejectReason = 1, vHeparinStopTimeRejectReason = 1, vHeparinTypeRejectReason = 1, vAcidConcentrateRejectReason = 1, vBicarbonateConcentrateRejectReason = 1, vDialyzerTypeRejectReason = 1, vBloodPressureMeasureIntervalRejectReason = 1, vRinsebackFlowRateRejectReason = 1, vRinsebackVolumeRejectReason = 1, vArterialPressureLimitWindowRejectReason = 1, vVenousPressureLimitWindowRejectReason = 1, vVenousPressureLimitAsymtrcRejectReason = 1, vTrancembrncPressureLimitWindowRejectReason = 1, vDialysateTempRejectReason = 1, vHeparinDispensingRateRejectReason = 1, vHeparinBolusVolumeRejectReason = 1 ) for expected_treatment_title,object in zip(CREATE_TREATMENT_PARAMETERS,CREATE_TREATEMENT_OBJ): parameter_object = utility.set_property_text(text = expected_treatment_title,obj =object) parameter_text = waitForObject(parameter_object) parameter_text_color = parameter_text.border.color.name test.compare(COLOR_CODES, parameter_text_color, "parameter color should be ' \red for' " + expected_treatment_title +" , if the confirmation get rejected !") test.endSection() def verify_custom_treatment_slider(): test.startSection("Verifying slider functionality of custom treatment") td.td_operation_mode(TDOpModes.MODE_STAN.value) td.td_operation_mode(TDOpModes.MODE_TPAR.value, 0 ) utility.set_value_with_slider(names.o_PreTreatmentCreate_bloodFlowRateControl_ValueAdjuster,names.o_PreTreatmentCreate_bloodFlowRate_slider_Slider,BLOOD_FLOW_RATE) utility.set_value_with_slider(names.o_PreTreatmentCreate_dialysateFlowRateControl_ValueAdjuster,names.o_PreTreatmentCreate_dialysateFlowRate_slider_Slider,DIALYSATE_FLOW_RATE) utility.set_value_with_slider(names.o_PreTreatmentCreate_durationControl_ValueAdjuster,names.o_PreTreatmentCreate_duration_slider_Slider,DURATION) utility.set_value_with_slider(names.o_PreTreatmentCreate_heparinBolusVolumeControl_ValueAdjuster,names.o_PreTreatmentCreate_heprainBolusVolume_slider_Slider,HEPARIN_BOLUS_VOLUME) utility.set_value_with_slider(names.o_PreTreatmentCreate_heparinDispensingRateControl_ValueAdjuster,names.o_PreTreatmentCreate_heprainDispensingRate_slider_Slider,HEPARIN_DISPENSING_RATE) utility.set_value_with_slider(names.o_PreTreatmentCreate_heparinStopTimeControl_ValueAdjuster,names.o_PreTreatmentCreate_heprainStopTime_slider_Slider,HEPARIN_STOP_TIME) utility.set_value_with_slider(names.o_PreTreatmentCreate_dialysateTemperatureControl_ValueAdjuster,names.o_PreTreatmentCreate_dialysateTemperature_slider_Slider,DIALYSATE_TEMPERATURE) utility.set_value_with_slider(names.o_PreTreatmentCreate_salineBolusVolumeControl_ValueAdjuster,names.o_PreTreatmentCreate_salineBolusVolume_slider_Slider,SALINE_BOLUS_VOLUME) test.endSection() def main(): utils.tstStart(__file__) startApplication(names.AUT_NAME + " -q") td.td_operation_mode(TDOpModes.MODE_STAN.value) # verify Standby screen test.verify(waitForObjectExists(names.o_standByScreen_MainHome), "In Standby") td.td_operation_mode(TDOpModes.MODE_TPAR.value, 0) test.startSection("Verfiy the treatement parameter validation") verify_page_step_indicator(screen_obj=names.o_PreTreatmentCreate_gridSteps_Grid, treatment_step=PRE_TREATMENT_STEP, treatment_screens=PRE_TREATMENT_SCREENS) test.log("Verify the Patient ID field") mouseClick(waitForObject(names.o_PatientIDEntry_TextEntry)) waitForObject(names.o_PatientIDEntry_TextEntry).text ="3456" verify_create_custom_treatment_parameter() test.endSection() test.startSection("Verify the validate function with out entering Patient ID") td.td_operation_mode(TDOpModes.MODE_STAN.value) # verify Standby screen test.verify(waitForObjectExists(names.o_standByScreen_MainHome), "In Standby") td.td_operation_mode(TDOpModes.MODE_TPAR.value, 0) verify_create_custom_treatment_parameter() test.endSection() test.startSection("Verify the slider function without Patient ID") verify_custom_treatment_slider() test.endSection() verify_editRx_Button() verfiy_clearall_Button() verify_custom_treatment_record_rejected() utils.tstDone()