class DuplicityCheck: __e_click_radio_css = Locators.BUTTONS['radio'] def __init__(self, driver): self.driver = driver self.wait = WebElementWait(self.driver) self.notifier = Notifier(self.driver) def do_not_allow_duplicates(self, button_name): try: self.wait.web_elements_wait_click(By.CSS_SELECTOR, self.__e_click_radio_css, button_name) self.wait.loading() return True except Exception as error: ui_logger.error(error) def req_duplicity_notifier(self, message): try: self.notifier.glowing_messages(message) return True except Exception as error: ui_logger.error(error) def req_duplicity_notifier_dismiss(self): try: self.notifier.dismiss_message() return True except Exception as error: ui_logger.error(error)
class EventConfiguration: __e_click_radio_css = Locators.BUTTONS['radio'] __e_user_id_xpath = Locators.TITLE['title'].format('Current Status') __e_search_user_xpath = Locators.TITLE['title'].format('Type here to search') __e_select_search_item_xpath = Locators.MULTI_SELECTIONS['moveAllItemsRight'] __e_done_button_xpath = Locators.BUTTONS['done'] __e_save_button_xpath = Locators.BUTTONS['button'].format('save') def __init__(self, driver): self.driver = driver self.wait = WebElementWait(self.driver) self.notifier = Notifier(self.driver) def on_off_buttons(self, button_name): try: time.sleep(1) self.wait.web_elements_wait_multiple_click(By.CSS_SELECTOR, self.__e_click_radio_css, button_name) return True except Exception as error: ui_logger.error(error) def user_id_chat(self): try: self.wait.web_element_wait_click(By.XPATH, self.__e_user_id_xpath, 'chat_user_filed_click') return True except Exception as error: ui_logger.error(error) def search_user_chat(self, user_name): try: self.wait.web_element_wait_send_keys(By.XPATH, self.__e_search_user_xpath, user_name, 'search_chat_user') self.wait.web_element_wait_click(By.XPATH, self.__e_select_search_item_xpath, 'Move_all_items') self.wait.web_element_wait_click(By.XPATH, self.__e_done_button_xpath, 'Done_button') return True except Exception as error: ui_logger.error(error) def enable_disable_button(self, button_name): try: self.wait.web_elements_wait_click(By.CSS_SELECTOR, self.__e_click_radio_css, button_name) return True except Exception as error: ui_logger.error(error) def save_buttons(self, button_name, message): try: self.wait.web_elements_wait_multiple_click(By.XPATH, self.__e_save_button_xpath, button_name) self.notifier.glowing_messages(message) self.notifier.dismiss_message() return True except Exception as error: ui_logger.error(error)
class LiveIntSchedulePage: __e_live_stage_xpath = Locators.LIVE_INTERVIEW['stage_selection'] __e_live_app_xpath = Locators.PLACEHOLDER['text_ph'].format( 'Candidate Name') __e_live_search_app_xpath = Locators.LIVE_INTERVIEW['app_search'] __e_live_clear_search_app_xpath = Locators.LIVE_INTERVIEW['clear_search'] __e_check_xpath = Locators.CHECKBOX['type'] __e_validate_class = Locators.LIVE_INTERVIEW['int_screen'] __e_select_int_xpath = Locators.LIVE_INTERVIEW['select_int'] __e_live_schedule_select_xpath = Locators.BUTTONS['button'].format( 'Schedule Selected') __e_live_schedule_xpath = Locators.BUTTONS['button'].format(' Schedule') __e_arrow_down_class = Locators.LIVE_INTERVIEW['arrow_down'] __e_feedback_action_xpath = Locators.LIVE_INTERVIEW['feedback_button'] def __init__(self, driver): self.driver = driver self.wait = WebElementWait(self.driver) self.notifier = Notifier(self.driver) self.switch_window = SwitchWindowClose(self.driver) def stage_selection(self, stage_name): try: self.wait.web_element_wait_send_keys(By.XPATH, self.__e_live_stage_xpath, stage_name, 'job_int_panel') print(f'{stage_name} - Selected from available stages') self.wait.loading() return True except Exception as error: ui_logger.error(error) def applicant_name_filed(self, applicant_name): try: self.wait.web_element_wait_send_keys(By.XPATH, self.__e_live_app_xpath, applicant_name, 'applicant_name_filed') print(f'Applicant name {applicant_name} - Entered') self.wait.loading() return True except Exception as error: ui_logger.error(error) def schedule_applicant_search(self): try: self.wait.web_element_wait_click(By.XPATH, self.__e_live_search_app_xpath, 'schedule_applicant_search') print('schedule applicant - searched') self.wait.loading() return True except Exception as error: ui_logger.error(error) def clear_applicant_search(self): try: time.sleep(0.7) self.wait.web_element_wait_click( By.XPATH, self.__e_live_clear_search_app_xpath, 'clear_applicant_search') print('clear applicant - searched') self.wait.loading() return True except Exception as error: ui_logger.error(error) def select_live_applicant(self): try: self.wait.web_element_wait_click(By.XPATH, self.__e_check_xpath, 'Applicant_check_box') print('Applicant got - selected') return True except Exception as error: ui_logger.error(error) def schedule_select(self): try: time.sleep(2) self.wait.web_element_wait_click( By.XPATH, self.__e_live_schedule_select_xpath, 'schedule_select') self.wait.loading() print('schedule_select button - selected') return True except Exception as error: ui_logger.error(error) def validate_interviewers_screen(self, screen_name): try: time.sleep(0.5) self.wait.web_element_wait_text(By.CLASS_NAME, self.__e_validate_class, 'validate_interviewers_screen') if screen_name in self.wait.text_value.strip(): print(f'Screen name {screen_name} - validating') return True except Exception as error: ui_logger.error(error) def select_interviewers(self): try: time.sleep(1) self.wait.web_elements_wait_click(By.XPATH, self.__e_select_int_xpath, '') print('select_interviewers - selected') return True except Exception as error: ui_logger.error(error) def live_schedule(self): try: time.sleep(0.5) self.wait.web_element_wait_click(By.XPATH, self.__e_live_schedule_xpath, 'live_schedule') self.wait.loading() print('Live schedule - selected') return True except Exception as error: ui_logger.error(error) def live_schedule_notifier(self, message): try: time.sleep(0.7) self.notifier.glowing_messages(message) return True except Exception as error: ui_logger.error(error) def live_schedule_notifier_dismiss(self): try: self.notifier.dismiss_message() time.sleep(0.9) self.wait.loading() return True except Exception as error: ui_logger.error(error) def arrow_down_for_feedback(self): try: time.sleep(0.5) self.wait.web_element_wait_click(By.CLASS_NAME, self.__e_arrow_down_class, 'arrow_down_for_feedback') self.wait.loading() print('Arrow down for feedback- Clicked') return True except Exception as error: ui_logger.error(error) def feedback_provide_action(self): try: time.sleep(1) self.wait.web_element_wait_click(By.XPATH, self.__e_feedback_action_xpath, 'feedback_provide_action') print('Provide feedback Action - Clicked') return True except Exception as error: ui_logger.error(error)
class Login: """ ----------------- WEB ELEMENT REFERENCE CLASS PRIVATE VARIABLES TO EASY ACCESS ------>>>> """ __e_tenant_name = Locators.LOGIN['alias'] __e_next_button_css = Locators.LOGIN['next'] __e_login_name_l = Locators.LOGIN['login_name'] __e_password_xpath = Locators.LOGIN['password'] __e_login_button_css = Locators.LOGIN['login'] __e_anchor_tag = Locators.TAG['anchor'] __e_logout_id = Locators.LOGIN['logout'] __e_click_xpath = Locators.LOGIN['click_to_login'] def __init__(self, driver): self.driver = driver self.wait = WebElementWait(self.driver) self.scroll = PageScroll(self.driver) def tenant(self, tenant_name): self.wait.web_element_wait_send_keys(By.NAME, self.__e_tenant_name, tenant_name, 'login_tenant_field') def next_button(self): self.wait.web_element_wait_click(By.CSS_SELECTOR, self.__e_next_button_css, 'login_next_button') def login_name(self, login_name): try: time.sleep(1.5) self.wait.web_element_wait_send_keys(By.NAME, self.__e_login_name_l, login_name, 'login_name_field') return True except Exception as error: ui_logger.error(error) def password(self, password): try: self.wait.web_element_wait_send_keys(By.XPATH, self.__e_password_xpath, password, 'login_password_field') return True except Exception as error: ui_logger.error(error) def login_button(self): try: self.wait.web_element_wait_click(By.CLASS_NAME, self.__e_login_button_css, 'login_button') return True except Exception as error: ui_logger.error(error) def login_account_name_verification(self, user_name): try: self.wait.loading() assert self.wait.web_elements_wait_text(By.TAG_NAME, self.__e_anchor_tag, user_name) == user_name, \ 'Logged in different account please check the details' return True except Exception as error: ui_logger.error(error) def login_account_click(self, user_name): try: self.wait.web_elements_wait_click(By.TAG_NAME, self.__e_anchor_tag, user_name) print(f'Current account name is - {user_name}') return True except Exception as error: ui_logger.error(error) def login_out(self): try: time.sleep(0.5) self.scroll.up(0, 60) time.sleep(0.5) self.wait.web_element_wait_click(By.ID, self.__e_logout_id, 'Logout from account') print('Logging Out - from application') return True except Exception as error: ui_logger.error(error) def click_here_to_login(self): try: time.sleep(2) self.wait.web_element_wait_click(By.XPATH, self.__e_click_xpath, 'Logout from account') print('Re-login - Clicked for login screen') return True except Exception as error: ui_logger.error(error)
class InterviewFeedback: __e_provide_select_drop_css = Locators.FEEDBACK['new_form_drop_down'] __e_provide_comment_xpath = Locators.PLACEHOLDER['all_place_holder'].format('Enter text here') __e_provide_overall_xpath = Locators.FEEDBACK['overall'] __e_decision_button_xpath = Locators.BUTTONS['all_buttons'] __e_feedback_submit_xpath = Locators.BUTTONS['button'].format('Submit Feedback') __e_agree_xpath = Locators.BUTTONS['button'].format('Agree and Submit') __e_save_draft_xpath = Locators.BUTTONS['button'].format('Save as Draft') def __init__(self, driver): self.driver = driver self.wait = WebElementWait(self.driver) self.notifier = Notifier(self.driver) def feedback_select_drop_down(self, value): try: time.sleep(5) self.wait.loading() self.wait.web_elements_wait_send_keys(By.XPATH, self.__e_provide_select_drop_css, value) print(f'Selected Rating - {value}') return True except Exception as error: ui_logger.error(error) def feedback_comments(self, comment): try: time.sleep(0.5) self.wait.web_elements_wait_send_keys(By.XPATH, self.__e_provide_comment_xpath, comment) print(f'Given Comment - {comment}') return True except Exception as error: ui_logger.error(error) def feedback_decision(self, decision): try: self.wait.web_elements_wait_click(By.XPATH, self.__e_decision_button_xpath.format(decision), decision) print(f'Selected Decision - {decision}') return True except Exception as error: ui_logger.error(error) def overall_comment(self, comment): try: self.wait.web_element_wait_send_keys(By.XPATH, self.__e_provide_overall_xpath, comment, 'overall_comment') print(f'Given Overall Comment - {comment}') return True except Exception as error: ui_logger.error(error) def save_draft_new_feedback(self): try: self.wait.web_element_wait_click(By.XPATH, self.__e_save_draft_xpath, 'submit_feedback_button') print('Save Draft - Submitted') self.wait.loading() return True except Exception as error: ui_logger.error(error) def submit_feedback(self): try: self.wait.web_element_wait_click(By.XPATH, self.__e_feedback_submit_xpath, 'submit_feedback_button') print('Feedback - Submitted') return True except Exception as error: ui_logger.error(error) def agree_and_submit(self): try: time.sleep(0.7) self.wait.web_element_wait_click(By.XPATH, self.__e_agree_xpath, 'feedback_form_validation') print('Agree and submit - Submitted') time.sleep(1) return True except Exception as error: ui_logger.error(error) def save_draft_notifier(self, message): try: self.notifier.glowing_messages(message) return True except Exception as error: ui_logger.error(error) def save_draft_notifier_dismiss(self): try: self.notifier.dismiss_message() return True except Exception as error: ui_logger.error(error)
class InterviewFeedback: __e_provide_select_drop_css = Locators.FEEDBACK['select_drop_down'] __e_provide_comment_xpath = Locators.FEEDBACK['comments'] __e_provide_overall_xpath = Locators.FEEDBACK['overall'] __e_decision_button_xpath = Locators.FEEDBACK['decision_button'] __e_feedback_submit_xpath = Locators.FEEDBACK['submit'] __e_update_submit_xpath = Locators.FEEDBACK['update'] __e_agree_xpath = Locators.BUTTONS['button'].format('Agree and Submit') __e_select_int_xpath = Locators.FEEDBACK['select_int'] __e_save_draft_xpath = Locators.FEEDBACK['save_draft'] __e_partial_submission_xpath = Locators.FEEDBACK['partial'] def __init__(self, driver): self.driver = driver self.wait = WebElementWait(self.driver) self.notifier = Notifier(self.driver) self.scroll = PageScroll(self.driver) def feedback_decision(self, decision): try: time.sleep(5) self.wait.loading() self.wait.web_elements_wait_click(By.XPATH, self.__e_decision_button_xpath, decision) print(f'Selected Decision - {decision}') return True except Exception as error: ui_logger.error(error) def feedback_select_drop_down(self, value): try: time.sleep(0.5) self.wait.web_elements_wait_send_keys( By.XPATH, self.__e_provide_select_drop_css, value) print(f'Selected Rating - {value}') return True except Exception as error: ui_logger.error(error) def feedback_comments(self, comment): try: time.sleep(0.5) self.wait.web_elements_wait_send_keys( By.XPATH, self.__e_provide_comment_xpath, comment) print(f'Given Comment - {comment}') return True except Exception as error: ui_logger.error(error) def behalf_select_interviewers(self): try: time.sleep(1) self.wait.web_elements_wait_click(By.XPATH, self.__e_select_int_xpath, '') print('select_interviewers - selected') return True except Exception as error: ui_logger.error(error) def overall_comment(self, comment): try: self.wait.web_element_wait_send_keys( By.XPATH, self.__e_provide_overall_xpath, comment, 'overall_comment') print(f'Given Overall Comment - {comment}') return True except Exception as error: ui_logger.error(error) def partial_submission(self): try: self.wait.web_element_wait_click(By.XPATH, self.__e_partial_submission_xpath, 'partial_submission') print('Partial - Submitted') self.wait.loading() return True except Exception as error: ui_logger.error(error) def submit_feedback(self): try: self.wait.loading() self.scroll.down(0, -80) self.wait.web_element_wait_click(By.XPATH, self.__e_feedback_submit_xpath, 'submit_feedback_button') print('Feedback - Submitted') self.wait.loading() return True except Exception as error: ui_logger.error(error) def update_feedback(self): try: self.wait.web_element_wait_click(By.XPATH, self.__e_update_submit_xpath, 'update_feedback') print('Update - Submitted') self.wait.loading() return True except Exception as error: ui_logger.error(error) def save_draft_old_feedback(self): try: self.wait.web_element_wait_click(By.XPATH, self.__e_save_draft_xpath, 'submit_feedback_button') print('Save Draft - Submitted') self.wait.loading() return True except Exception as error: ui_logger.error(error) def agree_and_submit(self): try: time.sleep(1) self.wait.web_element_wait_click(By.XPATH, self.__e_agree_xpath, 'feedback_form_validation') print('Agree and submit - Submitted') time.sleep(1.7) return True except Exception as error: ui_logger.error(error) def save_draft_notifier(self, message): try: self.notifier.glowing_messages(message) return True except Exception as error: ui_logger.error(error) def save_draft_notifier_dismiss(self): try: self.notifier.dismiss_message() return True except Exception as error: ui_logger.error(error)