Index: suite_leahi/shared/scripts/configuration/utility.py =================================================================== diff -u -r756aa59d442466b78609a9d4a9ae5fd9c1fbf2ef -rbddd2fe08aac52e286b53a811f0ab41919c7fea2 --- suite_leahi/shared/scripts/configuration/utility.py (.../utility.py) (revision 756aa59d442466b78609a9d4a9ae5fd9c1fbf2ef) +++ suite_leahi/shared/scripts/configuration/utility.py (.../utility.py) (revision bddd2fe08aac52e286b53a811f0ab41919c7fea2) @@ -4,6 +4,7 @@ import names from squish import * from leahi_dialin.ui import utils +from builtins import int as pyInt def get_object_from_names(names_dict, error_message = "Missing object", timeout_ms = 200): """ @@ -58,6 +59,16 @@ found = findObjectById(child, id) if found: return found + return None + +def findChildByText(parent_object, target_text): + """Recursively finds a child object by its text property.""" + for child in object.children(parent_object): + if hasattr(child, "text") and str(child.text) == target_text: + return child + found = findChildByText(child, target_text) + if found: + return found return None @@ -82,13 +93,14 @@ except LookupError: current_value = float(findObject(obj).property("value")) + # Determine direction while current_value != float(target_value): if current_value < float(target_value): squish.mouseClick(squish.waitForObject(right_arrow)) elif current_value > float(target_value): squish.mouseClick(squish.waitForObject(left_arrow)) - + # Update current value after click try: current_value = round(float(findObject(obj).value),1) except Exception: @@ -158,4 +170,4 @@ while findObject(object_name).value != 0.0: squish.mouseClick(waitForObject(left_arrow)) utils.waitForGUI(0.2) # Small delay to allow UI to update - \ No newline at end of file + Index: suite_leahi/shared/scripts/names.py =================================================================== diff -u -r885d84508080eb00e01a756e33c5109c9da761fe -rbddd2fe08aac52e286b53a811f0ab41919c7fea2 --- suite_leahi/shared/scripts/names.py (.../names.py) (revision 885d84508080eb00e01a756e33c5109c9da761fe) +++ suite_leahi/shared/scripts/names.py (.../names.py) (revision bddd2fe08aac52e286b53a811f0ab41919c7fea2) @@ -2,22 +2,104 @@ from objectmaphelper import * -AUT_NAME ="leahi" - # Top Parents -o_Gui_MainView = { "type": "Gui::MainView", "unnamed": 1 } -o_QQuickView = { "type": "QQuickView" } -o_Overlay = {"container": o_QQuickView, "type": "Overlay" } -o_standByScreen_MainHome = {"container": o_Gui_MainView, "type": "MainHome" } -standByScreen_MainHome = {"container": o_Gui_MainView, "type": "MainHome" } -treatmentStack = {"container": o_Gui_MainView, "type": "TreatmentStack" } -startTreatmentButton = {"container": standByScreen_MainHome, "id": "_startTreatmentRect", "type": "TouchRect", "unnamed": 1 } -mainTreatmentScreen = {"container": treatmentStack, "id": "_treatmentHome", "type": "TreatmentHome", "unnamed": 1 } -startFluidButton = {"container": mainTreatmentScreen, "id": "_startFluidButton", "type": "TouchRect", "unnamed": 1 } -salineDeliveredText = {"container": mainTreatmentScreen, "objectName": "salineDescriptionText", "type": "Text" } -currentBolusVolume = {"container": mainTreatmentScreen, "type": "Label", "unnamed": 1 } -treatmentSaline = {"container": mainTreatmentScreen, "objectName": "treatmentSaline", "type": "TreatmentSaline" } -salineProgressBar = {"container": mainTreatmentScreen, "id": "_fluidProgressBar", "type": "ProgressBar", "unnamed": 1 } +o_Gui_MainView = { "type": "Gui::MainView", "unnamed": 1 } +o_QQuickView = { "type": "QQuickView" } +o_Overlay = {"container": o_QQuickView, "type": "Overlay" } + +# Solution Infusion +o_standByScreen_MainHome = {"container": o_Gui_MainView, "type": "MainHome" } +treatmentStack = {"container": o_Gui_MainView, "type": "TreatmentStack" } +mainTreatmentScreen = {"container": treatmentStack, "id": "_treatmentHome", "type": "TreatmentHome", "unnamed": 1 } +startFluidButton = {"container": mainTreatmentScreen, "id": "_startFluidButton", "type": "TouchRect", "unnamed": 1 } +salineDeliveredText = {"container": mainTreatmentScreen, "objectName": "salineDescriptionText", "type": "Text" } +currentBolusVolume = {"container": mainTreatmentScreen, "type": "Label", "unnamed": 1 } +treatmentSaline = {"container": mainTreatmentScreen, "objectName": "treatmentSaline", "type": "TreatmentSaline" } +salineProgressBar = {"container": mainTreatmentScreen, "id": "_fluidProgressBar", "type": "ProgressBar", "unnamed": 1 } + +# Main Treatment +o_arterial_RangeBar = {"container": mainTreatmentScreen, "id": "_arterialRangeBar", "type": "TreatmentPressureComponent", "unnamed": 1 } +o_venous_RangeBar = {"container": mainTreatmentScreen, "id": "_venousRangeBar", "type": "TreatmentPressureComponent", "unnamed": 1 } +o_tmp_RangeBar = {"container": mainTreatmentScreen, "id": "_tmpRangeBar", "type": "TreatmentPressureComponent", "unnamed": 1 } +o_treatmentUltrafiltration = {"container": mainTreatmentScreen, "objectName": "treatmentUltrafiltration", "type": "TreatmentUltrafiltration" } +o_UF_Volume_Text = {"container": mainTreatmentScreen, "id": "_ufVolume", "type": "LabelValue", "unnamed": 1 } +o_UF_Rate_Text = {"container": mainTreatmentScreen, "id": "_ufRate", "type": "LabelValue", "unnamed": 1 } +o_treatment_duration = {"container": mainTreatmentScreen, "objectName": "treatmentTime", "type": "TreatmentTime" } +o_UF_Volume_LabelValue = {"container": mainTreatmentScreen, "id": "_ufVolume", "type": "LabelValue", "unnamed": 1 } +o_UF_Rate_LabelValue = {"container": mainTreatmentScreen, "id": "_ufRate", "type": "LabelValue", "unnamed": 1 } +o_Volume_Delivered = {"container": mainTreatmentScreen, "id": "_valueText", "type": "Text", "unnamed": 1 } +o_blood_flow_value = {"container": mainTreatmentScreen, "id": "_bloodFlow", "objectName": "bloodFlowComponent", "type": "TreatmentFlowsComponent" } +o_dial_flow_value = {"container": mainTreatmentScreen, "objectName": "dialysateFlowComponent", "type": "TreatmentFlowsComponent" } +o_dial_tmp_value = {"container": mainTreatmentScreen, "id": "_dialysateTemp", "objectName": "dialysateTempComponent", "type": "TreatmentFlowsComponent" } +o_dial_cond_value = {"container": mainTreatmentScreen, "id": "_dialysateCond", "objectName": "dialysateCondComponent", "type": "TreatmentFlowsComponent" } +o_blood_flow_title_Text = {"container": mainTreatmentScreen, "id": "_bloodFlow", "objectName": "bloodFlowComponent", "type": "TreatmentFlowsComponent" } +o_dialyste_flow_title_Text = {"container": mainTreatmentScreen, "objectName": "dialysateFlowComponent", "type": "TreatmentFlowsComponent" } +o_dialyste_tmp_title_Text = {"container": mainTreatmentScreen, "id": "_dialysateTemp", "objectName": "dialysateTempComponent", "type": "TreatmentFlowsComponent" } +o_dialyste_cond_title_Text = {"container": mainTreatmentScreen, "id": "_dialysateCond", "objectName": "dialysateCondComponent", "type": "TreatmentFlowsComponent" } +o_treatmentTimeNotificationBarSmall = {"container": mainTreatmentScreen, "objectName": "notification", "type": "NotificationBarSmall" } + +# settings_service_export_logs +o_listView_ListView = {"container": o_Gui_MainView, "id": "_listView", "type": "ListView", "unnamed": 1 } +o_listView_delegateControl = {"container": o_listView_ListView, "index": 2, "objectName": "delegateControl", "type": "Item" } +o_Settings_Menu = {"container": o_listView_delegateControl, "objectName": "_touchRect2", "type": "TouchRect" } +o_SettingsHome = {"container": o_Gui_MainView, "objectName": "_SettingsHome", "type": "SettingsHome" } +o_SettingsExportLogs = {"container": o_Gui_MainView, "objectName": "_SettingsBase", "type": "SettingsExportLogs" } +o_DeviceSettingsTitleText = {"container": o_SettingsHome, "id":"_titleText", "type": "Text", "unnamed": 1 } +o_SettingsInformation = {"container": o_Gui_MainView, "objectName": "_SettingsBase", "type": "SettingsBase" } +o_USBEjectButton = {"container": o_SettingsExportLogs, "id": "_usbEjectButton", "type": "USBButton", "unnamed": 1 } +o_ExportLogsPageTitleText = {"container": o_SettingsInformation, "id":"_titleText", "type": "Text", "unnamed": 1 } +o_LogTypeComboBox = {"container": o_SettingsInformation, "id": "_logTypeCombo", "type": "ComboBox", "unnamed": 1 } +o_OptionComboBox = {"container": o_Overlay, "type": "Text", "unnamed": 1 } +o_ExportButton = {"container": o_SettingsExportLogs, "id": "_logTypeExportButton", "type": "ExportButton", "unnamed": 1 } +o_ExportLogsProgressRect = {"container": o_SettingsExportLogs, "id": "_progressRect", "type": "ProgressRect", "unnamed": 1 } +o_ExportLogsNotificationBar = {"container": o_SettingsExportLogs, "id": "_information", "type": "NotificationBarSmall" } +o_DeviceSettingsGrid = {"container": o_SettingsHome, "id": "_grid", "type": "Grid", } + +#HeaderBar Information Pop up +o_InformationIconButton = {"container": o_Gui_MainView, "id": "_informationButton", "type": "IconButton", "unnamed": 1 } +o_InformationParameters = {"container": o_Overlay, "type": "Text", "unnamed": 1 } +o_VersionColumn = {"container": o_Overlay, "id": "_versionColumn", "type": "Column", "unnamed": 1 } + +#ultrafiltration +o_treatmentUltrafiltration = {"container": mainTreatmentScreen, "objectName": "treatmentUltrafiltration", "type": "TreatmentUltrafiltration" } +o_editButton_ultrafiltration_IconButton = {"container": o_treatmentUltrafiltration, "id": "_editButton", "type": "IconButton", "unnamed": 1 } +o_uf_Volume_LabelValue = {"container": mainTreatmentScreen, "id": "_ufVolume", "type": "LabelValue", "unnamed": 1 } +o_uf_Rate_LabelValue = {"container": mainTreatmentScreen, "id": "_ufRate", "type": "LabelValue", "unnamed": 1 } +o_volume_Delivered = {"container": mainTreatmentScreen, "id": "_valueText", "type": "Text", "unnamed": 1 } +o_ufVolumeRemovedItem_ValueItem = {"container": o_Overlay, "id": "_ufVolumeRemovedItem", "type": "ValueItem", "unnamed": 1 } +o_ufVolumeGoalItem_ValueItem = {"container": o_Overlay, "id": "_ufVolumeGoalItem", "type": "ValueItem", "unnamed": 1 } +o_editButton_TouchRect = {"container": o_Overlay, "objectName": "_editButton", "type": "TouchRect" } +o_volumeGoalAdjuster_ValueAdjuster = {"container": o_Overlay, "objectName": "_volumeGoalAdjuster", "type": "ValueAdjuster" } +o_continueButton_TouchRect = {"container": o_Overlay, "objectName": "_continueButton", "type": "TouchRect" } +o_newVolumeContainer_ValueContainer = {"container": o_Overlay, "objectName": "_newVolumeContainer", "type": "ValueContainer" } +o_newRateContainer_ValueContainer = {"container": o_Overlay, "objectName": "_newRateContainer", "type": "ValueContainer" } +o_confirmButton_TouchRect = {"container": o_Overlay, "objectName": "_confirmButton", "type": "TouchRect" } +o_backButton_BackButton = {"container": o_Overlay, "id": "_backButton", "type": "BackButton", "unnamed": 1 } +o_notificationBar_NotificationBarSmall = {"container": o_Overlay, "objectName": "NotificationBar", "type": "NotificationBarSmall" } +o_title_Text = {"container": o_Overlay, "type": "Text", "unnamed": 1 } + +# Device Settings Information Version +o_DeviceSettingsInformation = {"container": o_SettingsHome, "id": "_touchItem", "type": "TouchRect", "unnamed": 1 } +o_InformationPageTitleText = {"container": o_SettingsInformation, "id": "_titleText", "type": "Text", "unnamed": 1 } +o_SettingsBase_SettingsInformation = {"container": o_Gui_MainView, "objectName": "_SettingsBase", "type": "SettingsBase" } +o_SettingsBase_Information_Text = {"container": o_SettingsBase_SettingsInformation, "type": "Text", "unnamed": 1 } +o_SettingsBase_SettingsInformation_2 = {"container": o_Gui_MainView, "objectName": "_SettingsBase", "type": "SettingsInformation" } +o_SettingsBase_grid_Grid = {"container": o_SettingsBase_SettingsInformation_2, "id": "_grid", "type": "Grid", "unnamed": 1 } + +#HeaderBar WiFi +o_HeaderBar_WiFi_IconButton = {"container": o_Gui_MainView, "id": "_wifiButton", "type": "IconButton", "unnamed": 1 } +o_HeaderBar_WiFi_Popup = {"container": o_Overlay, "id": "_backgroundRect", "type": "Rectangle", "unnamed": 1 } +o_HeaderBar_Wifi_PopuoParameters = {"container": o_Overlay, "type": "Text", "unnamed": 1 } +o_HeaderBar_WiFi_IconImage = {"container": o_Gui_MainView, "id": "_iconImage", "source": "qrc:/images/iWifi", "type": "Image", "unnamed": 1 } + +#Device Settings Wi-Fi +o_SettingsBase_SettingsInformation = {"container": o_Gui_MainView, "objectName": "_SettingsBase", "type": "SettingsBase" } +o_SettingsBase_Information_Text = {"container": o_SettingsBase_SettingsInformation, "type": "Text", "unnamed": 1 } +o_InformationPageTitleText = {"container": o_SettingsInformation, "id": "_titleText", "type": "Text", "unnamed": 1 } +o_SettingsBase_SettingsWiFi = {"container": o_Gui_MainView, "objectName": "_SettingsBase", "type": "SettingsWiFi" } +o_SettingsBase_WifiScreen_ScanButton = {"container": o_SettingsBase_SettingsWiFi, "id": "_scanButton", "type": "TouchRect", "unnamed": 1 } +o_SettingsBase_WifiScreen_BackButton = {"container": o_SettingsBase_SettingsWiFi, "objectName": "_backButton", "type": "BackButton" } + #Create Treatment o_PreTreatmentCreateStack_PreTreatmentCreateStack = {"container": o_Gui_MainView, "objectName": "_PreTreatmentCreateStack", "type": "PreTreatmentCreateStack" } o_PreTreatmentCreateStack_PreTreatmentCreate_PreTreatmentCreate = {"container": o_PreTreatmentCreateStack_PreTreatmentCreateStack, "objectName": "_PreTreatmentCreate", "type": "PreTreatmentCreate" } Index: suite_leahi/suite.conf =================================================================== diff -u -rfc2ce7fc0911c43127dd55ce45f305618ca8ffc9 -rbddd2fe08aac52e286b53a811f0ab41919c7fea2 --- suite_leahi/suite.conf (.../suite.conf) (revision fc2ce7fc0911c43127dd55ce45f305618ca8ffc9) +++ suite_leahi/suite.conf (.../suite.conf) (revision bddd2fe08aac52e286b53a811f0ab41919c7fea2) @@ -1,6 +1,6 @@ AUT=leahi LANGUAGE=Python OBJECTMAPSTYLE=script -TEST_CASES=tst_solution_infusion tst_main_treatment tst_create_treatment +TEST_CASES=tst_solution_infusion tst_main_treatment tst_service_export_logs tst_device_settings_information_version tst_headerbar_information_popup tst_headerbar_wifi_indicator tst_device_settings_wifi tst_ultrafiltration tst_create_treatment VERSION=3 WRAPPERS=Qt Index: suite_leahi/tst_create_treatment/test.py =================================================================== diff -u --- suite_leahi/tst_create_treatment/test.py (revision 0) +++ suite_leahi/tst_create_treatment/test.py (revision bddd2fe08aac52e286b53a811f0ab41919c7fea2) @@ -0,0 +1,508 @@ +# 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 config +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' +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], + "Dialysate Flow Rate" : [50.0], + "Duration" : [60.0], + "Heparin Bolus Volume" : [0.2], + "Heparin Dispensing Rate" : [0.2,0.5,1.0], + "Heparin Stop Time" : [60.0], + "Saline Bolus Volume" : [100], + "Dialysate Temperature" : [35.0], + "BP Measurement Interval" : [5], + +} + +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" +VALIDATE = "VALIDATE" +CONFIRM = "CONFIRM" + +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,"-- --") + 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") + + # 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, "120") + 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])) + 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])) + test.endSection() + + utility.select_different_dropdown(names.o_PreTreatment_vitalsCombobox_BaseCombobox,VITALS,2) + utility.select_different_dropdown(names.o_PreTreatmentCreate_bicarbonateConcentrateComboBox_BaseComboBox,BICARBONATE,0) + + #Verify all the parameters are populated + test.compare(waitForObject(names.o_PreTreatmentCreate_bloodFlowRateControl_ValueAdjuster).value, 50.0) + test.compare(waitForObject(names.o_PreTreatmentCreate_dialysateFlowRateControl_ValueAdjuster).value, 50.0) + test.compare(waitForObject(names.o_PreTreatmentCreate_durationControl_ValueAdjuster).value, 120) + 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, 60.0) + + test.compare(waitForObject(names.o_PreTreatmentCreate_dialysateTemperatureControl_ValueAdjuster).value, 35.0) + test.compare(waitForObject(names.o_PreTreatmentCreate_salineBolusVolumeControl_ValueAdjuster).value, 100.0) + + validateButton = waitForObject(names.o_PreTreatmentButton) + #Check the button text + validateText = waitForObject(utility.setObjectText(text=VALIDATE,obj =names.o_PreTreatmentCreate_Text)) + test.compare(validateText.text, VALIDATE, "Button text should be"+str(VALIDATE)) + test.compare(validateButton.enabled, True, "Validate button is enabled") + mouseClick(waitForObject(validateButton)) + 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 + ) + test.compare(waitForObjectExists(names.o_PreTreatmentCreate_qrCode_Image).visible, True,"QR Code is visible") + #Check the confirm button text and perform the mouse click + confirmButton = waitForObject(names.o_PreTreatmentButton) + confirmText = waitForObject(utility.setObjectText(text=CONFIRM,obj =names.o_PreTreatmentCreate_Text)) + test.compare(confirmText.text, CONFIRM, "Button text should be"+str(CONFIRM)) + test.compare(confirmButton.enabled, True, "Confirm button is enabled") + mouseClick(waitForObject(confirmButton)) + 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 + ) + mouseClick(waitForObject(names.o_PreTreatmentButton,1000)) + utility.select_different_dropdown(names.o_prescription_menuButton,BUTTON_TYPE,1) + 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, "120") + 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 + ) + mouseClick(waitForObject(names.o_PreTreatmentButton,1000)) + 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.setObjectText(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(config.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 slider function without Patient ID") + verify_custom_treatment_slider() + test.endSection() + + verify_editRx_Button() + verfiy_clearall_Button() + verify_custom_treatment_record_rejected() + + utils.tstDone() +