Index: suite_leahi/shared/scripts/configuration/navigation.py =================================================================== diff -u -rc091cb2bd9bd4b20538496aa27435e8c8cf39e7a -r4045057acb2ebda3ca38376e140baa6c48b7231a --- suite_leahi/shared/scripts/configuration/navigation.py (.../navigation.py) (revision c091cb2bd9bd4b20538496aa27435e8c8cf39e7a) +++ suite_leahi/shared/scripts/configuration/navigation.py (.../navigation.py) (revision 4045057acb2ebda3ca38376e140baa6c48b7231a) @@ -30,6 +30,23 @@ ), ) +def get_ini_value(conf_path: str , section: str, key: str): + """ + Method to get the advanced option from the System.conf file + """ + path = Path(conf_path) + if not path.exists(): + raise FileNotFoundError(f"Not found: {path}") + parser = ConfigParser() + # Preserve case if needed: + # parser.optionxform = str + parser.read(path, encoding="utf-8") + if not parser.has_section(section): + raise KeyError(f"Section [{section}] not found in {path}") + if not parser.has_option(section, key): + raise KeyError(f"Key '{key}' not found in section [{section}]") + return parser.get(section, key) + def navigation_pageIndicator_step(vStep_name): """ Navigate to the specified page using the step indicator component. @@ -42,9 +59,21 @@ """ test.startSection("Method to navigation in the pretreatment page ") stepId = squish.waitForObjectExists(names.o_preTreatmentStack_stepIndicator_StepIndicator) + stepnames = utility.findAllObjectsById(stepId, "_text") + SYSTEM_PATH = application_init.configuration_folder_path() + "Settings/System.conf" + value = get_ini_value(SYSTEM_PATH, section ="AdvancedMode", key ="AdvancedMode") + standard = stepnames[1:] + if value == "0": + standard = stepnames[3:] + Nextbutton = utility.setObjectText(obj =names.o_preTreatmentStack_Text, text =config.NEXT) + squish.mouseClick(squish.waitForObject(Nextbutton)) + + autoLoadbutton = utility.setObjectText(obj =names.o_preTreatmentStack_Text, text ="Auto Load") + squish.mouseClick(squish.waitForObject(autoLoadbutton)) + td_simulator.td_blood_set_auto_load_response(vRejectionReason = 0) + stepId = squish.waitForObjectExists(names.o_preTreatmentStack_stepIndicator_StepIndicator) values = utility.findAllObjectsById(stepId, "_text") - for index, input_field in enumerate(values[2:]): - test.log(str(index)); + for input_field in standard: test.log(str(input_field.text)) if str(input_field.text) == "Water Sample": squish.mouseClick(squish.waitForObject(names.o_PreTreatmentSampleStack_button_TouchRect)) Index: suite_leahi/shared/scripts/configuration/utility.py =================================================================== diff -u -rc091cb2bd9bd4b20538496aa27435e8c8cf39e7a -r4045057acb2ebda3ca38376e140baa6c48b7231a --- suite_leahi/shared/scripts/configuration/utility.py (.../utility.py) (revision c091cb2bd9bd4b20538496aa27435e8c8cf39e7a) +++ suite_leahi/shared/scripts/configuration/utility.py (.../utility.py) (revision 4045057acb2ebda3ca38376e140baa6c48b7231a) @@ -14,6 +14,58 @@ td =TD_Messaging() from leahi_dialin.ui import utils from builtins import int as pyInt + +def aut(*args): + """ + Joins the executable name and argument + into a single command string +* Options: + * -h, --help Displays help on commandline options. + * --help-all Displays help including Qt specific + * options. + * -v, --version Displays version information. + * -c, --canOut Show the Can Frame Output + * -m, --msgOut Show the Message Output + * -l, --logOut Show the Logs Output + * -0, --enable-keep-awake Enable send low priority, empty message + * on the CANBus just to keep UI board CAN + * driver awake + * -i, --fake-interval Test fake message interval(ms) + * -f, --fake-message Test fake message data + * will use default sequenced long fake + * message if set to 00(default) + * will used only if correct integer value + * assigned for interval option + * -b, --fake-message-seq-at-begin Test fake message sequence at the + * beginning of the frame + * -u, --disable-unhandled-report Disable unhandled messages report as an + * error in the log + * -d, --disable-dialin-unhandled Disable the Dialin messages logged as + * unhandled + * -q, --disable-timeout Disables communication timeout + * -a, --disable-alarm-no-minimize Disables alarm no minimize + * -S, --disable-sd-card-fail-log-stop disable-sd-card-fail-log-stop + * -C, --disable-cloudsync-fail-stop disable-cloudsync-fail-stop + * -k, --disable-check-in-log Disables Check-In Log + * -K, --disable-acknow-log Disables Acknowledgment Log + * -D, --enable-dry-demo Enables Dry-Demo Mode + * -A, --active-can-bus Sets the Active CANBus [Shall start with + * 'can' or 'vcan] + * -E, --enable-manufacturing Enables the manufacturing mode to + * configure the system for the first time. + * -R, --use-root-home In case the application is not in + * Manufacturing Setup but needs to use root + * home folder for configurations. + * -U, --enable-update-mode Enables the update mode to update only + * necessary files during the update and + * keep the rest. + * -x, --use-log-long-name Use the log long file name format + * _