def test_global_info_about_person(self, person): try: persons_page = self.app.persons_page persons_page.is_this_page() # Find new person by surname (Alexey test 'add person') add_person_pattern = AddPersonPattern() add_person_pattern.search_person_by_surname(self.app, person.surname_ukr) persons_page.wait_until_page_generate() persons_page.view_first_person_in_page persons_page.wait_until_page_generate() # Is it current view person page? assert self.app.person_papers_view_page.get_text_person_profile() == u"Перегляд персони" personUkrFIO = person.surname_ukr + " " + person.first_name_ukr + " " + person.second_name_ukr personEngFIO = person.surname_eng + " " + person.first_name_eng private_case_chars = person.private_case_chars private_case_number = str(person.private_case_number) actual_person = self.app.person_current_view_page assert personUkrFIO == actual_person.get_fio_ukranian().text assert personEngFIO == actual_person.get_fio_english().text assert private_case_chars == actual_person.get_serial_person_record() assert private_case_number == actual_person.get_number_person_record() except AssertionError: allure.attach('screenshot', self.app.driver.get_screenshot_as_png(), type=AttachmentType.PNG) raise
def test_surname_search(self, person): try: with pytest.allure.step("Prepare Data"): add_person_pattern = AddPersonPattern() add_person_pattern.search_person_by_surname(self.app, person.surname_ukr) with pytest.allure.step("Check Data"): assert self.app.persons_page.try_get_searched_surname(person.surname_ukr).text.partition(' ')[ 0] == person.surname_ukr except Exception: allure.attach('screenshot', self.app.driver.get_screenshot_as_png(), type=AttachmentType.PNG) raise
def test_add_enrollment_in_new_person(logout_login, person, dictionary_with_json_files, screenshot): with pytest.allure.step('Test of add enrollment in new person.'): add_person = AddPersonPattern() app = logout_login assert app.persons_page.is_this_page() add_person.search_person_by_surname(app, person.surname_ukr) app.internal_page.wait_until_page_generate() app.persons_page.edit_first_person_in_page.click() app.persons_page.wait_until_page_generate() app.person_base_page.click_enrollments_tab() enrollment = fill_enrollment_in_person(app, dictionary_with_json_files["fill_enrollment_main"]) expected_number = enrollment.number_statements app.internal_page.wait_until_page_generate() list_with_actual_numbers = app.person_enrollment.enrollment_doc_number assert_expression = is_doc_number_in_list_of_numbers(expected_number, list_with_actual_numbers) screenshot.assert_and_get_screenshot(app, assert_expression) app.persons_page.return_to_persons_main_page(app)
def test_add_person(app, person, screenshot): try: with pytest.allure.step('Authorize to the application and click add person button'): add_person_pattern = AddPersonPattern() add_person_pattern.login_and_delete_all_person_by_name(app, person) person_page = app.persons_page person_page.is_this_page() person_page.add_person_link person_page.wait_until_page_generate() base_page = app.person_base_page with pytest.allure.step('Fill data on the main add person page'): main_page = app.main_page main_page.fill_in_main_person_page(person) base_page.click_extra_tab() with pytest.allure.step('Fill data on the extra add person page'): extra_page = app.extra_page extra_page.fill_in_extra_person_page(person) base_page.click_addresses_tab() with pytest.allure.step('Fill data on the address add person page'): address_page = app.address_page address_page.fill_in_address_page(person) base_page.click_contacts_tab() with pytest.allure.step('Fill data on the contacts add person page'): contact_page = app.contact_page contact_page.fill_in_contact_page(person) base_page.click_papers_tab() with pytest.allure.step('Fill data on the documents add person page'): papers_page = app.papers_page papers_page.fill_in_document_page(person) papers_page.wait_until_page_generate() base_page.save_new_person() #base_page.persons_page_link.click() with pytest.allure.step('Assert surname of added person is the same as from input data'): screenshot.assert_and_get_screenshot(app, app.persons_page.return_added_person_surname(person) == person.surname_ukr) except Exception: allure.attach('screenshot', app.driver.get_screenshot_as_png(), type=AttachmentType.PNG) raise
def test_delete_person(app, person, screenshot): with pytest.allure.step('Test delete the created person.'): add_person_pattern = AddPersonPattern() add_person_pattern.login_and_delete_all_person_by_name(app, person) assert_expression = len(app.persons_page.rows_in_body) == 0 screenshot.assert_and_get_screenshot(app, assert_expression)