Пример #1
0
class RequirementGetByName:

    __e_name_xpath = Locators.TITLE['title']

    def __init__(self, driver):
        self.driver = driver
        self.wait = WebElementWait(self.driver)

    def req_name_click(self, req_name):
        try:
            self.wait.loading()
            self.wait.web_element_wait_click(
                By.XPATH, self.__e_name_xpath.format(req_name),
                'req_name_click')
            print('Requirement name - Clicked to open details screen')
            self.wait.loading()
            return True
        except Exception as error:
            ui_logger.error(error)

    def req_name_validation(self, req_name):
        try:
            self.wait.web_element_wait_text(
                By.XPATH, self.__e_name_xpath.format(req_name),
                'req_name_validation')
            print('Event Name -', self.wait.text_value)
            return True
        except Exception as error:
            ui_logger.error(error)
Пример #2
0
class EventGetByName:

    __e_click_name_xpath = Locators.TITLE['title'].format(
        'Click to view full details')
    __e_event_name_xpath = Locators.TITLE['title']

    def __init__(self, driver):
        self.driver = driver
        self.wait = WebElementWait(self.driver)

    def event_name_click(self):
        try:
            self.wait.loading()
            self.wait.web_element_wait_click(By.XPATH,
                                             self.__e_click_name_xpath,
                                             'Event_name_click')
            print('Event name - Clicked to open details screen')
            self.wait.loading()
            return True
        except Exception as error:
            ui_logger.error(error)

    def event_name_validation(self, event_name):
        try:
            time.sleep(3)
            self.wait.web_element_wait_text(
                By.XPATH, self.__e_event_name_xpath.format(event_name),
                'Event_name_validation')
            print('Event Name -', self.wait.text_value)
            self.wait.loading()
            return True
        except Exception as error:
            ui_logger.error(error)
class AssessmentGetByName:

    __e_test_name_xpath = Locators.TITLE['title']

    def __init__(self, driver):
        self.driver = driver
        self.wait = WebElementWait(self.driver)

    def test_name_click(self, test_name):
        try:
            self.wait.web_element_wait_click(By.XPATH, self.__e_test_name_xpath.format(test_name),
                                             'test_name_click')
            print(f'Clicked on - {test_name}')
            return True
        except Exception as error:
            ui_logger.error(error)

    def assessment_name_validation(self, assessment_name):
        try:
            self.wait.web_element_wait_text(By.XPATH,
                                            self.__e_test_name_xpath.format(assessment_name),
                                            'Assessment_name_validation')
            print(f'Assessment Name - {self.wait.text_value}')
            self.wait.loading()
            time.sleep(0.3)
            return True
        except Exception as error:
            ui_logger.error(error)
Пример #4
0
class CandidateDetailsPage:
    __e_title_xpath = Locators.TITLE['title']
    __e_id_xpath = Locators.CANDIDATE['id']
    __e_candidate_float_action_class = Locators.ACTIONS['float_click_class']
    __e_manage_task_xpath = Locators.TITLE['title'].format('Manage Task')

    def __init__(self, driver):
        self.driver = driver
        self.wait = WebElementWait(self.driver)
        self.window = SwitchWindowClose(self.driver)

        self.candidate_id = ''

    def candidate_float_actions(self):
        try:
            self.wait.web_element_wait_click(
                By.CLASS_NAME, self.__e_candidate_float_action_class,
                'candidate_float_actions')
            print('Candidate details screen - floating action clicked')
            return True
        except Exception as error:
            ui_logger.error(error)

    def candidate_manage_task_action(self, window_index):
        try:
            time.sleep(1)
            self.wait.web_element_wait_click(By.XPATH,
                                             self.__e_manage_task_xpath,
                                             'candidate_manage_task_action')
            print('Candidate details screen - floating action - Manage Task')
            time.sleep(1)
            self.window.switch_to_window(window_index)
            self.wait.loading()
            return True
        except Exception as error:
            ui_logger.error(error)

    def candidate_status(self, changed_status):
        try:
            time.sleep(2)
            self.wait.loading()
            self.wait.web_element_wait_text(
                By.XPATH, self.__e_title_xpath.format(changed_status),
                f'Candidate_status_{changed_status}')
            if self.wait.text_value == changed_status:
                print(f'Candidate status changed - {self.wait.text_value}')
            return True
        except Exception as error:
            ui_logger.error(error)

    def candidate_id_copy(self):
        try:
            self.wait.web_element_wait_text(By.XPATH, self.__e_id_xpath,
                                            'candidate_id')
            self.candidate_id = self.wait.text_value
            print(f'candidate id - {self.candidate_id}')
            return True
        except Exception as error:
            ui_logger.error(error)
Пример #5
0
class JobGetByName:

    __e_job_name_xpath = Locators.TITLE['title']

    def __init__(self, driver):
        self.driver = driver
        self.wait = WebElementWait(self.driver)
        self.tab = Title(self.driver)
        self.window = SwitchWindowClose(self.driver)

    def job_tab_title(self, tab_title):
        try:
            self.tab.tab_title(tab_title)
            return True
        except Exception as error:
            ui_logger.error(error)

    def job_name_click(self, job_name):
        try:
            self.wait.web_element_wait_click(
                By.XPATH, self.__e_job_name_xpath.format(job_name),
                'job_name_click')
            time.sleep(0.5)
            self.driver.close()
            self.driver.switch_to.window(self.driver.window_handles[0])
            time.sleep(1.5)
            self.wait.loading()

            return True
        except Exception as error:
            ui_logger.error(error)

    def job_name_validation(self, job_name):
        try:
            self.wait.loading()
            self.wait.web_element_wait_text(
                By.XPATH, self.__e_job_name_xpath.format(job_name),
                'Job_name_validation')
            print('Job Name -', self.wait.text_value)
            return True
        except Exception as error:
            ui_logger.error(error)
Пример #6
0
class Notifier:
    e_notifier = Locators.NOTIFIER['message']
    e_dismiss = Locators.NOTIFIER['dismiss']

    def __init__(self, driver):
        self.driver = driver
        self.wait = WebElementWait(self.driver)

    def glowing_messages(self, ui_message):
        self.wait.web_element_wait_text(By.CLASS_NAME, self.e_notifier,
                                        'Glowing_message')
        message = self.wait.text_value
        if message == ui_message:
            print(
                '**-------->>> Message/UI notifier validated successfully - {}'
                .format(message))
        else:
            print('Message/UI notifier validation failed - {} <<<---------**'.
                  format(message))

    def dismiss_message(self):
        self.wait.web_element_wait_click(By.CLASS_NAME, self.e_dismiss,
                                         'Dismiss_message')
        print('***---------->>> Notifier closed')
Пример #7
0
class ManageTaskScreen:
    __e_common_css = Locators.MANAGE_TASK['common_label']
    __e_candidate_status_xpath = Locators.MANAGE_TASK['candidate_status']
    __e_submit_xpath = Locators.TITLE['tooltip'].format("'", 'Candidate has submitted but not approved.', "'")
    __e_pending_xpath = Locators.TITLE['tooltip'].format("'", 'Candidate has not submitted.', "'")
    __e_reject_xpath = Locators.TITLE['tooltip'].format("'", 'Candidate has not corrected the details after the '
                                                             'task(s) got rejected.', "'")
    __e_approved_xpath = Locators.TITLE['tooltip'].format("'", 'Task(s) are approved.', "'")
    __e_total_xpath = Locators.MANAGE_TASK['total']

    def __init__(self, driver):
        self.driver = driver
        self.wait = WebElementWait(self.driver)
        self.window = SwitchWindowClose(self.driver)

    def candidate_name_validate(self, candidate_name):
        try:
            value = self.wait.web_elements_wait_text(By.CSS_SELECTOR, self.__e_common_css, candidate_name)
            if candidate_name in value:
                print(f'Candidate Name is - {value}')
                return True
        except Exception as error:
            ui_logger.error(error)

    def candidate_stage_status_validate(self, stage_status):
        try:
            self.wait.web_element_wait_text(By.XPATH, self.__e_candidate_status_xpath, stage_status)
            if self.wait.text_value.strip() == stage_status:
                print(f'Manage candidate screen verified - {self.wait.text_value.strip()}')
                return True
        except Exception as error:
            ui_logger.error(error)

    def submitted_task_validate(self, submit_task):
        try:
            self.wait.web_element_wait_text(By.XPATH, self.__e_submit_xpath, 'submitted_task_validate')
            if self.wait.text_value == submit_task:
                print(f'Submitted tasks are - {self.wait.text_value}')
                return True
        except Exception as error:
            ui_logger.error(error)

    def pending_task_validate(self, pending_task):
        try:
            self.wait.web_element_wait_text(By.XPATH, self.__e_pending_xpath, 'pending_task_validate')
            if self.wait.text_value == pending_task:
                print(f'Pending tasks are - {self.wait.text_value}')
                return True
        except Exception as error:
            ui_logger.error(error)

    def rejected_task_validate(self, rejected_task):
        try:
            self.wait.web_element_wait_text(By.XPATH, self.__e_reject_xpath, 'rejected_task_validate')
            if self.wait.text_value == rejected_task:
                print(f'Rejected tasks are - {self.wait.text_value}')
                return True
        except Exception as error:
            ui_logger.error(error)

    def approved_task_validate(self, approved_task):
        try:
            self.wait.web_element_wait_text(By.XPATH, self.__e_approved_xpath, 'approved_task_validate')
            if self.wait.text_value == approved_task:
                print(f'Approved tasks are - {self.wait.text_value}')
                return True
        except Exception as error:
            ui_logger.error(error)

    def total_task_validate(self, total_task):
        try:
            self.wait.web_element_wait_text(By.XPATH, self.__e_total_xpath, 'total_task_validate')
            if self.wait.text_value == total_task:
                print(f'Total tasks are - {self.wait.text_value}')
                return True
        except Exception as error:
            ui_logger.error(error)

    def switch_back_to_old_window(self):
        try:
            self.window.window_close()
            time.sleep(0.5)
            self.window.switch_to_window(1)
            time.sleep(0.5)
            self.window.window_close()
            time.sleep(0.5)
            self.window.switch_to_window(0)
            return True
        except Exception as error:
            ui_logger.error(error)
Пример #8
0
class TagInterviewersPage:
    __e_job_interviewers_xpath = Locators.JOB['int_panel']
    __e_job_int_add_class = Locators.JOB['panel_int_add']
    __e_job_int_save_xpath = Locators.BUTTONS['button'].format('Save')
    __e_job_tag_total_int_css = Locators.JOB['total_owners']

    def __init__(self, driver):
        self.driver = driver
        self.wait = WebElementWait(self.driver)
        self.notifier = Notifier(self.driver)

    def job_int_panel(self, value):
        try:
            self.wait.web_element_wait_send_keys(
                By.XPATH, self.__e_job_interviewers_xpath, value,
                'job_int_panel')
            print(f'{value} - Selected from job interviewers panel')
            self.wait.loading()
            return True
        except Exception as error:
            ui_logger.error(error)

    def job_int_add(self):
        try:
            time.sleep(0.5)
            self.wait.web_element_wait_click(By.CLASS_NAME,
                                             self.__e_job_int_add_class,
                                             'job_int_add')
            print('saved - selection process')
            return True
        except Exception as error:
            ui_logger.error(error)

    def job_int_save(self):
        try:
            time.sleep(0.5)
            self.wait.web_element_wait_click(By.XPATH,
                                             self.__e_job_int_save_xpath,
                                             'job_int_save')
            print('saved - job interviewers')
            self.wait.loading()
            return True
        except Exception as error:
            ui_logger.error(error)

    def job_tag_int_notifier(self, message):
        try:
            time.sleep(0.7)
            self.notifier.glowing_messages(message)
            return True
        except Exception as error:
            ui_logger.error(error)

    def job_tag_int_notifier_dismiss(self):
        try:
            self.notifier.dismiss_message()
            return True
        except Exception as error:
            ui_logger.error(error)

    def total_tag_interviewers(self, number_of_tag_ints):
        try:
            self.wait.loading()
            self.wait.web_element_wait_text(By.CSS_SELECTOR,
                                            self.__e_job_tag_total_int_css,
                                            'total_tag_interviewers')
            if str(number_of_tag_ints) in self.wait.text_value:
                print(f'Total tagged Interviewers - {number_of_tag_ints}')
                return True
        except Exception as error:
            ui_logger.error(error)
Пример #9
0
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)
Пример #10
0
class EventUploadCandidate:

    __e_upload_xpath = Locators.ATTACHMENT['file']
    __e_next_button_xpath = Locators.BUTTONS['button'].format('Next')
    __e_declare_xpath = Locators.CHECKBOX['type']
    __e_signature_xpath = Locators.CANDIDATE['upload_signature']
    __e_agree_xpath = Locators.BUTTONS['button'].format('I Agree')
    __e_edit_info_xpath = Locators.TITLE['title'].format('Edit')
    __e_name_xpath = Locators.CANDIDATE['name_field']
    __e_email_xpath = Locators.CANDIDATE['email_field']
    __e_usn_xpath = Locators.CANDIDATE['usn_field']
    __e_save_button_xpath = Locators.CANDIDATE['save_info']
    __e_save_candidate_xpath = Locators.CANDIDATE['save']
    __e_upload_count_css = Locators.CANDIDATE['Upload_count']
    __e_close_button_xpath = Locators.BUTTONS['button'].format('Close')
    __e_close_main_xpath = Locators.BUTTONS['close']
    __e_confirm_close_main_xpath = Locators.BUTTONS['all_buttons'].format('OK')

    def __init__(self, driver):
        self.driver = driver
        self.wait = WebElementWait(self.driver)
        self.notifier = Notifier(self.driver)
        self.scroll = PageScroll(self.driver)

    def upload_file(self, upload_file):
        try:
            self.wait.web_element_wait_send_keys(By.XPATH, self.__e_upload_xpath, upload_file,
                                                 'upload_file')
            print('Candidate excel sheet - Uploading')
            self.wait.uploading()
            return True
        except Exception as error:
            ui_logger.error(error)

    def next_button(self):
        try:
            self.wait.web_element_wait_click(By.XPATH, self.__e_next_button_xpath, 'upload_file')
            print('Candidate scree next button - Clicked')
            self.wait.loading()
            return True
        except Exception as error:
            ui_logger.error(error)

    def declare_check(self):
        try:
            self.wait.web_element_wait_click(By.XPATH, self.__e_declare_xpath, 'declare_check')
            print('Declare Check - Clicked')
            return True
        except Exception as error:
            ui_logger.error(error)

    def signature_entry(self):
        try:
            self.wait.web_element_wait_send_keys(By.XPATH, self.__e_signature_xpath, 'VinodKumar',
                                                 'signature_entry')
            print('Signature Entry - Signed')
            return True
        except Exception as error:
            ui_logger.error(error)

    def agreed_button(self):
        try:
            self.wait.web_element_wait_click(By.XPATH, self.__e_agree_xpath, 'agreed_button')
            print('Agreed Button - Clicked')
            return True
        except Exception as error:
            ui_logger.error(error)

    def edit_excel_information(self):
        try:
            self.wait.web_element_wait_click(By.XPATH, self.__e_edit_info_xpath, 'edit_excel_information')
            print('Edit Information button - Clicked')
            return True
        except Exception as error:
            ui_logger.error(error)

    def name_edit(self, candidate_name):
        try:
            self.wait.clear(By.XPATH, self.__e_name_xpath, 'Name_field_clear')
            self.wait.web_element_wait_send_keys(By.XPATH, self.__e_name_xpath, candidate_name,
                                                 'name_edit')
            print('Name information - Changed')
            return True
        except Exception as error:
            ui_logger.error(error)

    def email_edit(self, candidate_email):
        try:
            self.wait.clear(By.XPATH, self.__e_email_xpath, 'Name_field_clear')
            self.wait.web_element_wait_send_keys(By.XPATH, self.__e_email_xpath, candidate_email,
                                                 'email_edit')
            print('Email information - Changed')
            return True
        except Exception as error:
            ui_logger.error(error)

    def usn_edit(self, usn_email):
        try:
            self.wait.clear(By.XPATH, self.__e_usn_xpath, 'Name_field_clear')
            self.wait.web_element_wait_send_keys(By.XPATH, self.__e_usn_xpath, usn_email,
                                                 'email_edit')
            print('Usn information - Changed')
            return True
        except Exception as error:
            ui_logger.error(error)

    def save_info(self):
        try:
            self.scroll.down(0, -50)
            self.wait.web_element_wait_click(By.XPATH, self.__e_save_button_xpath, 'save_info')
            print('Save information - Saved')
            return True
        except Exception as error:
            ui_logger.error(error)

    def save_candidate(self):
        try:
            time.sleep(1)
            self.wait.web_element_wait_click(By.XPATH, self.__e_save_candidate_xpath, 'save_candidate')
            print('Save Candidate - Saved')
            return True
        except Exception as error:
            ui_logger.error(error)

    def success_upload(self, message):
        try:
            time.sleep(3)
            self.wait.web_element_wait_text(By.CSS_SELECTOR, self.__e_upload_count_css, 'success_upload')
            if self.wait.text_value.strip() == message:
                print(f'Success {self.wait.text_value.strip()} - Count')
                return True
        except Exception as error:
            ui_logger.error(error)

    def close_candidate_screen(self):
        try:
            self.wait.web_element_wait_click(By.XPATH, self.__e_close_button_xpath, 'close_candidate_screen')
            print('Close Candidate Screen - Closed')
            return True
        except Exception as error:
            ui_logger.error(error)

    def close_main_screen(self):
        try:
            self.wait.web_element_wait_click(By.XPATH, self.__e_close_main_xpath, 'close_main_screen')
            print('Close Main Screen - Closed')
            return True
        except Exception as error:
            ui_logger.error(error)

    def confirm_close_main_screen(self):
        try:
            self.wait.web_element_wait_click(By.XPATH, self.__e_confirm_close_main_xpath, 'confirm_close_main_screen')
            print('Confirm Close Main Screen - Closed')
            self.wait.loading()
            return True
        except Exception as error:
            ui_logger.error(error)
Пример #11
0
class LoginPage:

    __e_candidate_id_xpath = Locators.PLACEHOLDER['text_ph'].format(
        'Enter Candidate Id')
    __e_enter_button_xpath = Locators.BUTTONS['button'].format(
        'Enter the room')
    __e_candidate_name_xpath = Locators.CANDIDATE_LOBBY_LOGIN['candidate_name']
    __e_almost_message_css = Locators.CANDIDATE_LOBBY_LOGIN['almost-message']
    __e_queued_message_xpath = Locators.CANDIDATE_LOBBY_LOGIN['queued-message']
    __e_finish_message_xpath = Locators.CANDIDATE_LOBBY_LOGIN[
        'finished-message']
    __e_your_message_xpath = Locators.CANDIDATE_LOBBY_LOGIN['your-message']

    def __init__(self, driver):
        self.driver = driver
        self.wait = WebElementWait(self.driver)
        self.new_tab = NewTab(self.driver)

    def open_link(self, link_to_login):
        try:
            self.new_tab.open_new_tab(1, link_to_login)
            return True
        except Exception as error:
            ui_logger.error(error)

    def login_screen(self, candidate_id):
        try:
            self.wait.loading()
            time.sleep(2)
            self.wait.web_element_wait_send_keys(By.XPATH,
                                                 self.__e_candidate_id_xpath,
                                                 candidate_id,
                                                 'candidate_login_screen')
            return True
        except Exception as error:
            ui_logger.error(error)

    def enter_to_room(self):
        try:
            self.wait.web_element_wait_click(By.XPATH,
                                             self.__e_enter_button_xpath,
                                             'enter_to_room_button')
            self.wait.loading()
            return True
        except Exception as error:
            ui_logger.error(error)

    def candidate_name_validate(self, candidate_name):
        try:
            time.sleep(1)
            self.wait.web_element_wait_text(
                By.XPATH, self.__e_candidate_name_xpath.format(candidate_name),
                'candidate_name_validation_lobby')
            if self.wait.text_value in self.wait.text_value:
                print(f'Lobby Candidate name - {self.wait.text_value}')
                return True
        except Exception as error:
            ui_logger.error(error)

    def almost_message(self, message):
        try:
            self.wait.web_element_wait_text(By.CSS_SELECTOR,
                                            self.__e_almost_message_css,
                                            'almost_message')
            if self.wait.text_value == message:
                print(f'Candidate Lobby - {self.wait.text_value}')
                return True
        except Exception as error:
            ui_logger.error(error)

    def queued_message(self, message):
        try:
            self.wait.web_element_wait_text(By.XPATH,
                                            self.__e_queued_message_xpath,
                                            'queued_message')
            if self.wait.text_value == message:
                print(f'Candidate Lobby - {self.wait.text_value}')
                return True
        except Exception as error:
            ui_logger.error(error)

    def it_is_your_message(self, message):
        try:
            self.wait.web_element_wait_text(By.XPATH,
                                            self.__e_your_message_xpath,
                                            'it_is_your_message')
            if self.wait.text_value == message:
                print(f'Candidate Lobby - {self.wait.text_value}')
                return True
        except Exception as error:
            ui_logger.error(error)

    def finish_interview_message(self, message):
        try:
            self.wait.web_element_wait_text(By.XPATH,
                                            self.__e_finish_message_xpath,
                                            'finish_interview_message')
            if self.wait.text_value == message:
                print(f'Candidate Lobby - {self.wait.text_value}')
                return True
        except Exception as error:
            ui_logger.error(error)
Пример #12
0
class LobbyPage:
    __e_create_button_xpath = Locators.BUTTONS['button'].format('Create Room')
    __e_room_name_xpath = Locators.PLACEHOLDER['text_ph'].format('Room Name')
    __e_interviewers_xpath = Locators.TITLE['title'].format(
        'Select Interviewers')
    __e_participants_xpath = Locators.TITLE['title'].format(
        'Select Participants')
    __e_search_xpath = Locators.TITLE['title'].format('Type here to search')
    __e_select_all_xpath = Locators.MULTI_SELECTIONS['moveAllItemsRight']
    __e_done_button = Locators.BUTTONS['all_buttons'].format('Done')
    __e_created_room_xpath = Locators.BUTTONS['actionClicked'].format(
        "'", 'createRoom', "'")
    __e_active_room_xpath = Locators.EVENT_LOBBY['active']
    __e_ok_button_xpath = Locators.BUTTONS['all_buttons'].format('OK')
    __e_un_assign_xpath = Locators.EVENT_LOBBY['un_assign']
    __e_assign_room_xpath = Locators.EVENT_LOBBY['assign_room']
    __e_room_name_field_xpath = Locators.PLACEHOLDER['text_ph'].format(
        'Room Name')
    __e_room_search_filed_xpath = Locators.TITLE['title'].format('Select Room')
    __e_search_button_xpath = Locators.BUTTONS['button'].format('Search')
    __e_room_search_class = Locators.EVENT_LOBBY['room_search']
    __e_assigning_room_xpath = Locators.BUTTONS['actionClicked'].format(
        "'", 'assignCandidateToRoom', "'")
    __e_candidate_info_xpath = Locators.TITLE['title'].format(
        'View Candidate Info')

    def __init__(self, driver):
        self.driver = driver

        self.wait = WebElementWait(self.driver)
        self.scroll = PageScroll(self.driver)
        self.message = Notifier(self.driver)
        self.sub_tab = EventSubTabs(self.driver)

    def create_room_button(self):
        try:
            self.scroll.up(0, 100)
            self.wait.web_element_wait_click(By.XPATH,
                                             self.__e_create_button_xpath,
                                             'room_create_button')
            self.wait.loading()
            return True
        except Exception as error:
            ui_logger.error(error)

    def room_name(self, room_name):
        try:
            self.wait.web_element_wait_send_keys(By.XPATH,
                                                 self.__e_room_name_xpath,
                                                 room_name, 'room_name_field')
            return True
        except Exception as error:
            ui_logger.error(error)

    def select_interviewers(self):
        try:
            self.wait.web_element_wait_click(By.XPATH,
                                             self.__e_interviewers_xpath,
                                             'Interviewers_field')
            return True
        except Exception as error:
            ui_logger.error(error)

    def select_participants(self):
        try:
            self.wait.web_element_wait_click(By.XPATH,
                                             self.__e_participants_xpath,
                                             'Participants_field')
            return True
        except Exception as error:
            ui_logger.error(error)

    def search(self, key):
        try:
            self.wait.web_element_wait_send_keys(By.XPATH,
                                                 self.__e_search_xpath, key,
                                                 'Search_field')
            return True
        except Exception as error:
            ui_logger.error(error)

    def move_all(self):
        try:
            self.wait.web_element_wait_click(By.XPATH,
                                             self.__e_select_all_xpath,
                                             'Move_all_items')
            return True
        except Exception as error:
            ui_logger.error(error)

    def done(self):
        try:
            self.wait.web_element_wait_click(By.XPATH, self.__e_done_button,
                                             'Done_button')
            return True
        except Exception as error:
            ui_logger.error(error)

    def created_button(self, message):
        try:
            time.sleep(1)
            self.wait.web_element_wait_click(By.XPATH,
                                             self.__e_created_room_xpath,
                                             'room_created_button')
            self.wait.loading()
            self.message.glowing_messages(message)
            self.message.dismiss_message()
            return True
        except Exception as error:
            ui_logger.error(error)

    def active_room(self):
        try:
            time.sleep(0.5)
            self.wait.web_element_wait_click(By.XPATH,
                                             self.__e_active_room_xpath,
                                             'room_created_button')
            return True
        except Exception as error:
            ui_logger.error(error)

    def ok_button(self, message):
        try:
            self.wait.web_element_wait_click(By.XPATH,
                                             self.__e_ok_button_xpath,
                                             'room_created_button')
            time.sleep(0.5)
            self.message.glowing_messages(message)
            self.message.dismiss_message()
            return True
        except Exception as error:
            ui_logger.error(error)

    def un_assign_room(self):
        try:
            self.wait.web_element_wait_click(By.XPATH,
                                             self.__e_un_assign_xpath,
                                             'Un_assign_from_room')
            return True
        except Exception as error:
            ui_logger.error(error)

    def ok_buttons(self):
        try:
            self.wait.web_element_wait_click(By.XPATH,
                                             self.__e_ok_button_xpath,
                                             'un_assign_ok_buttons')
            time.sleep(1)
            return True
        except Exception as error:
            ui_logger.error(error)

    def assign_room_action(self):
        try:
            self.wait.web_element_wait_click(By.XPATH,
                                             self.__e_assign_room_xpath,
                                             'assign_room_action')
            self.wait.loading()
            return True
        except Exception as error:
            ui_logger.error(error)

    def room_name_field(self, room_name):
        try:
            self.wait.web_element_wait_send_keys(
                By.XPATH, self.__e_room_name_field_xpath, room_name,
                'room_name_field')
            self.wait.drop_down_selection()
            return True
        except Exception as error:
            ui_logger.error(error)

    def room_assigning_action(self):
        try:
            time.sleep(1)
            self.wait.web_element_wait_click(By.XPATH,
                                             self.__e_assigning_room_xpath,
                                             'room_assign')
            self.wait.loading()
            return True
        except Exception as error:
            ui_logger.error(error)

    def room_search_filed(self):
        try:
            self.wait.web_element_wait_click(By.XPATH,
                                             self.__e_room_search_filed_xpath,
                                             'room_search_filed')
            return True
        except Exception as error:
            ui_logger.error(error)

    def search_button(self):
        try:
            self.wait.web_element_wait_click(By.XPATH,
                                             self.__e_search_button_xpath,
                                             'search_button')
            return True
        except Exception as error:
            ui_logger.error(error)

    def no_candidate_message(self, message):
        try:
            time.sleep(1)
            self.wait.web_element_wait_text(By.CLASS_NAME,
                                            self.__e_room_search_class,
                                            'tag_room_search_candidate')
            if self.wait.text_value.strip() == message:
                print(
                    f'No candidate tagged to room message - {self.wait.text_value}'
                )
                self.driver.refresh()
                self.wait.loading()
                return True
        except Exception as error:
            ui_logger.error(error)

    def candidate_info(self, candidate_name):
        try:
            self.wait.web_element_wait_text(By.XPATH,
                                            self.__e_candidate_info_xpath,
                                            'candidate_info')
            if self.wait.text_value == candidate_name:
                print(f'Candidate name - {self.wait.text_value}')
                return True
        except Exception as error:
            ui_logger.error(error)