def test_verify_priority_enrollment(self, app, enrollment): with pytest.allure.step('Assert priority'): field_priority = app.enrollments_main_page.get_priority() common_methods = CommonMethods(app.driver) actual_value_priority = common_methods.get_value_from_text_field(field_priority) try: assert actual_value_priority == enrollment.priority except AssertionError: allure.attach('screenshot', app.enrollments_page.driver.get_screenshot_as_png(), type=AttachmentType.PNG) raise
def test_verify_total_score_and_scale_enrollment(self, app, enrollment): with pytest.allure.step('Assert total score and scale enrollment'): field_total_score = app.enrollments_main_page.find_total_score() scale = app.enrollments_main_page.get_text_choose_grading_scale().text common_methods = CommonMethods(app.driver) actual_value_total_score = common_methods.get_value_from_text_field(field_total_score) try: assert actual_value_total_score == enrollment.total_score assert scale == enrollment.grading_scale except AssertionError: allure.attach('screenshot', app.enrollments_page.driver.get_screenshot_as_png(), type=AttachmentType.PNG) raise
def test_verify_type_of_entry_and_detailing_start_enrollment(self, app, enrollment): with pytest.allure.step('Assert type of entry and datailing start of fields'): field_type_of_entry = app.enrollments_main_page.get_type_of_entry() field_detailing_start = app.enrollments_main_page.get_detailing_start_menu() common_methods = CommonMethods(app.driver) actual_value_type_of_entry = common_methods.get_value_from_select(field_type_of_entry) actual_value_detailing_start = common_methods.get_value_from_select(field_detailing_start) try: assert actual_value_type_of_entry == enrollment.type_of_entry assert actual_value_detailing_start == enrollment.detailing_start except AssertionError: allure.attach('screenshot', app.enrollments_page.driver.get_screenshot_as_png(), type=AttachmentType.PNG) raise
def test_verify_serial_and_number_enrollment(self, app, enrollment): with pytest.allure.step('Assert serial and number enrollment'): field_serial_of_enroll = app.enrollments_main_page.find_series_of_statements() field_number_of_enroll = app.enrollments_main_page.find_number_statements() common_methods = CommonMethods(app.driver) actual_value_serial_enollment = common_methods.get_value_from_text_field(field_serial_of_enroll) actual_value_number_enollment = common_methods.get_value_from_text_field(field_number_of_enroll) try: assert actual_value_serial_enollment == enrollment.series_of_statements assert actual_value_number_enollment == str(enrollment.number_statements) except AssertionError: allure.attach('screenshot', app.enrollments_page.driver.get_screenshot_as_png(), type=AttachmentType.PNG) raise
def read_in_address_page(self, person_new): """ Method read the data on the address persons page :param person_new: persons model in Person format :return: """ common_methods = CommonMethods(self.driver) self.is_this_page self.wait_until_page_generate() # reading birth place for place in self.driver.find_elements(*self.FULL_BIRTH_PLACE_TEXT): person_new.burn_place.append(place.text) # reading registration address for place in self.driver.find_elements(*self.FULL_BIRTH_REGISTRATION_TEXT): person_new.registration_place["area"].append(place.text) person_new.registration_place["index"] = common_methods.get_value_from_text_field(self.driver.find_element(*self.INDEX_INPUT)) person_new.registration_place["type"] = self.address_type_chooser().text person_new.registration_place["street"] = common_methods.get_value_from_text_field(self.driver.find_element(*self.STREET_INPUT)).encode('cp1251') person_new.registration_place["house"] = common_methods.get_value_from_text_field(self.driver.find_element(*self.HOUSE_INPUT)) person_new.registration_place["apartment"] = common_methods.get_value_from_text_field(self.driver.find_element(*self.APARTMENT_INPUT)) person_new.registration_place["is_addresses_match"] = is_checkbox_checked( self.driver.find_element(*self.IS_ADDRESSES_MATCH)) if person_new.registration_place["is_addresses_match"]: person_new.post_registration_place["index"] = person_new.registration_place["index"] person_new.post_registration_place["type"] = person_new.registration_place["type"] person_new.post_registration_place["street"] = person_new.registration_place["street"] person_new.post_registration_place["house"] = person_new.registration_place["house"] person_new.post_registration_place["apartment"] = person_new.registration_place["apartment"] return person_new # reading post address for place in self.driver.find_elements(*self.FULL_BIRTH_POST_REGISTRATION_TEXT): person_new.post_registration_place["area"].append(place.text) person_new.post_registration_place["index"] = common_methods.get_value_from_text_field(self.driver.find_element(*self.INDEX_POST_INPUT)) person_new.post_registration_place["type"] = common_methods.get_value_from_select(self.driver.find_element(*self.ADDRESS_TYPE_POST_CHOOSER)).encode('cp1251') person_new.post_registration_place["street"] = common_methods.get_value_from_text_field(self.driver.find_element(*self.STREET_POST_INPUT)).encode('cp1251') person_new.post_registration_place["house"] = common_methods.get_value_from_text_field(self.driver.find_element(*self.HOUSE_POST_INPUT)).encode('cp1251') person_new.post_registration_place["apartment"] = common_methods.get_value_from_text_field(self.driver.find_element(*self.APARTMENT_POST_INPUT)) return person_new
def read_in_extra_person_page(self, person_new): """ Method read the data on the extra persons page :param person_new: persons model in Person format :return: """ common_methods = CommonMethods(self.driver) self.is_this_page person_new.birth_day = common_methods.get_value_from_text_field( self.driver.find_element(*self.ACTIVATE_BIRTH_DAY_CHOOSER)) person_new.sex = self.sex_types_select().text person_new.marital_status = self.marital_status_select().text person_new.nationality = self.nationality_select().text person_new.private_case_chars = common_methods.get_value_from_text_field( self.driver.find_element(*self.PRIVATE_CASE_CHARS_INPUT)).encode('cp1251') person_new.private_case_number = common_methods.get_value_from_text_field( self.driver.find_element(*self.PRIVATE_CASE_NUMBER_INPUT)) person_new.is_outlander = is_checkbox_checked( self.driver.find_element(*self.IS_A_OUTLANDER_CHECKER)) person_new.reservist = is_checkbox_checked( self.driver.find_element(*self.IS_A_OUTLANDER_CHECKER)) person_new.hostel_need = is_checkbox_checked( self.driver.find_element(*self.IS_A_OUTLANDER_CHECKER)) return person_new
def read_in_document_page(self, person_new): """ Method read the data on the papers persons page :param person_new: persons model in Person format :return: person_new """ common_methods = CommonMethods(self.driver) self.is_this_page() self.wait_until_page_generate() for index in range(1, self.get_number_of_person_documents() + 1): self.click_on_edit_document(index) document = [] self.wait_until_page_generate() for web_element in self.list_with_all_visible_element_in_document(): value_of_webelement_by_js = common_methods.get_value_from_web_element(web_element) document.append(value_of_webelement_by_js) document.append( is_checkbox_checked(self.driver.find_element(*self.DOCUMENT_IS_ORIGINAL))) document.append( is_checkbox_checked(self.driver.find_element(*self.DOCUMENT_IS_FOREIGN))) person_new.documents.append(document) return person_new
def read_in_contact_page(self, person_new): """ Method read the data on the contact persons page :param person_new: persons model in Person format :return: """ self.is_this_page self.wait_until_page_generate() common_methods = CommonMethods(self.driver) person_new.mobile_phone1 = common_methods.get_value_from_text_field( self.driver.find_element(*self.MOBILE_PHONE1_INPUT)) person_new.mobile_phone2 = common_methods.get_value_from_text_field( self.driver.find_element(*self.MOBILE_PHONE2_INPUT)) person_new.home_phone = common_methods.get_value_from_text_field( self.driver.find_element(*self.HOME_PHONE_INPUT)) person_new.work_phone = common_methods.get_value_from_text_field( self.driver.find_element(*self.WORK_PHONE_INPUT)) person_new.email = common_methods.get_value_from_text_field(self.driver.find_element(*self.EMAIL_INPUT)) person_new.skype = common_methods.get_value_from_text_field(self.driver.find_element(*self.SKYPE_INPUT)) person_new.web_site = common_methods.get_value_from_text_field(self.driver.find_element(*self.SITE_INPUT)) person_new.icq = common_methods.get_value_from_text_field(self.driver.find_element(*self.ICQ_INPUT)) return person_new
def read_in_main_person_page(self, person_new): """ Method read the data on the main persons page :param person_new: is persons model in Person format :return: person_new """ self.is_this_page common_methods = CommonMethods(self.driver) person_new.person_type = self.person_type_text().text person_new.surname_ukr = common_methods.get_value_from_text_field(self.driver.find_element(*self.PERSON_SURNAME_UKR_INPUT)) person_new.first_name_ukr = common_methods.get_value_from_text_field(self.driver.find_element(*self.PERSON_FIRST_NAME_UKR_INPUT)) person_new.second_name_ukr = common_methods.get_value_from_text_field(self.driver.find_element(*self.PERSON_FARTHER_NAME_UKR_INPUT)) person_new.surname_eng = common_methods.get_value_from_text_field(self.driver.find_element(*self.PERSON_SURNAME_ENG_INPUT)) person_new.first_name_eng = common_methods.get_value_from_text_field(self.driver.find_element(*self.PERSON_FIRST_NAME_ENG_INPUT)) return person_new