def __set_filter_by_user_type(session, user_types): SAPGuiElements.press_button(session, USER_TYPE_FILTER_BUTTON) for i, user_type in enumerate(user_types): SAPGuiElements.try_to_set_text( session, INCLUDE_VALUES_TEMPLATE.format(type="{type}", row=i), user_type) SAPGuiElements.press_button(session, OK_BUTTON)
def __set_roles_filter(session, roles_filter): SAPGuiElements.press_button(session, ROLES_FILTER_BUTTON) for i, item in enumerate(roles_filter): SAPGuiElements.try_to_set_text( session, EQUAL_FILTER_TEMPLATE.format(type="{type}", num=i), item) SAPGuiElements.press_button(session, OK_BUTTON)
def change_password_su3(sap_session, old_pwd): SAPTransaction.call(sap_session, CHANGE_PASSWORD_TRANSACTION) new_pwd = SAPLogonPwd.gen_password() SAPGuiElements.press_button(sap_session, CHNAGE_PWD_BUTTON_SU3) msg = SAPGuiElements.get_status_message(sap_session) if msg: if msg[1] in ('190', '180'): raise RuntimeError("Password could not be changed. {0}".format( msg[2])) try: SAPGuiElements.set_text(sap_session, OLD_PWD_FIELD, old_pwd) SAPGuiElements.set_text(sap_session, NEW_PWD_FIELD1, new_pwd) SAPGuiElements.set_text(sap_session, NEW_PWD_FIELD2, new_pwd) SAPGuiElements.press_keyboard_keys( sap_session, "Enter", pysapgui.sapgui.GUI_CHILD_WINDOW1) except AttributeError as error: raise AttributeError( "Could not find GUI elements to change password. {0}".format( str(error))) try: SAPGuiElements.get_element(sap_session, pysapgui.sapgui.GUI_CHILD_WINDOW2) SAPGuiElements.press_keyboard_keys( sap_session, "Enter", pysapgui.sapgui.GUI_CHILD_WINDOW2) SAPGuiElements.press_keyboard_keys( sap_session, "F12", pysapgui.sapgui.GUI_CHILD_WINDOW1) except AttributeError: # All is Ok. Password changed successfully return new_pwd else: raise AttributeError( "Couldn't set new password. Reconfigure password policy")
def save_to_file(self, sap_session=None): if not sap_session: sap_session = self.sap_session SAPGuiElements.press_keyboard_keys(sap_session, "Ctrl+Shift+F9") if self.file_format == 'html': SAPGuiElements.select_element(sap_session, HTML_FORMAT) filename = self.__get_filename() SAPGuiElements.press_button(sap_session, CONFIRM_FORMAT_BUTTON) SAPGuiElements.set_text(sap_session, PATH_TEXT_FIELD, self.report_dir) SAPGuiElements.set_text(sap_session, FILENAME_TEXT_FIELD, filename) SAPGuiElements.press_button(sap_session, REPLACE_BUTTON) self.__del_gif_files() return filename
def set_filter_value(self, session): if not len(self.filters): return columnlist = [filter1.field_name for filter1 in self.filters] startpos = 1 for i, element in SAPGuiElements.iter_elements_by_template(session, GUI_MAIN_WINDOW, "wnd[0]/usr/txt%_I{0}_%_APP_%-TEXT", startpos): element_text = element.text if element_text in columnlist: element_id = element.id button_id = element_id.replace("txt", "btn").replace("-TEXT", "-VALU_PUSH") SAPGuiElements.press_button(session, button_id) field_filter = self.get_filter_by_field_name(element_text) field_filter.set_filter(session)
def set_filter(self, session): SAPGuiElements.press_keyboard_keys(session, "Shift+F4") if hasattr(self, "exclude_single_values"): if len(self.exclude_single_values): SAPGuiElements.select_element(session, EXCLUDE_VALUES) for i, item in enumerate(self.exclude_single_values): if item == "": SAPGuiElements.press_button(session, EXCLUDE_VALUES_BUTTON.format(i)) SAPGuiElements.press_button(session, OK_BUTTON_FILTER) else: SAPGuiElements.try_to_set_text(session, EXCLUDE_VALUES_TEMPLATE.format(type="{type}", row=i), item) if hasattr(self, "equal_single_values"): if len(self.equal_single_values): SAPGuiElements.select_element(session, INCLUDE_VALUES) for i, item in enumerate(self.equal_single_values): if item == "": SAPGuiElements.press_button(session, INCLUDE_VALUES_BUTTON.format(i)) SAPGuiElements.press_button(session, OK_BUTTON_FILTER) else: SAPGuiElements.try_to_set_text(session, INCLUDE_VALUES_TEMPLATE.format(type="{type}", row=i), item) SAPGuiElements.press_keyboard_keys(session, "F8")