From 0685675dff484361e8f2fb497fa7e990579800d4 Mon Sep 17 00:00:00 2001 From: Alena Krauch Date: Thu, 13 Feb 2025 23:13:39 +0300 Subject: [PATCH] ref test_ersp_01.02 Verify page structure and visibility, update exercises_ru_similar_phrases_page_test.py, exercises_ru_similar_phrases_page.py, exercises_ru_similar_phrases_page_locators.py, header_page.py --- .../exercises_ru_similar_phrases_page_locators.py | 1 + pages/exercises_ru_similar_phrases_page.py | 11 +++++++++++ pages/header_page.py | 1 - tests/exercises_ru_similar_phrases_page_test.py | 6 +++++- 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/locators/exercises_ru_similar_phrases_page_locators.py b/locators/exercises_ru_similar_phrases_page_locators.py index b13e1fb8c7..148f703e26 100644 --- a/locators/exercises_ru_similar_phrases_page_locators.py +++ b/locators/exercises_ru_similar_phrases_page_locators.py @@ -6,3 +6,4 @@ class ExercisesRuSimilarPhrasesPageLocators: PAGE_CONTENT = (By.TAG_NAME, "main") PAGE_FIRST_LEVEL_ELEMENTS = (By.XPATH, "//main/*") PAGE_SECOND_LEVEL_ELEMENTS = (By.XPATH, "//main/*/*") + PAGE_THIRD_LEVEL_ELEMENTS = (By.XPATH, "//main/*/*/*") diff --git a/pages/exercises_ru_similar_phrases_page.py b/pages/exercises_ru_similar_phrases_page.py index 81d6ee4b57..d86b0c55c4 100644 --- a/pages/exercises_ru_similar_phrases_page.py +++ b/pages/exercises_ru_similar_phrases_page.py @@ -37,3 +37,14 @@ def get_structure_of_2nd_level(self): @allure.step("Check if elements of the 2nd level of nesting are visible") def check_elements_visibility_on_2nd_level(self): return all(element.is_displayed() for element in self.get_structure_of_2nd_level()) + + @allure.step("Get structure of the 3rd level of nesting on the page") + def get_structure_of_3rd_level(self): + elements = self.elements_are_present(self.locators.PAGE_THIRD_LEVEL_ELEMENTS) + tags = [element.tag_name for element in elements] + print(*tags) + return elements + + @allure.step("Check if elements of the 3rd level of nesting are visible") + def check_elements_visibility_on_3rd_level(self): + return all(element.is_displayed() for element in self.get_structure_of_3rd_level()) diff --git a/pages/header_page.py b/pages/header_page.py index 3d5659e5e9..7565ebb257 100644 --- a/pages/header_page.py +++ b/pages/header_page.py @@ -23,7 +23,6 @@ def check_header_visibility(self): @allure.step("Get structure of the 1st level of nesting in the Header") def get_structure_of_1st_level(self): - # elements = self.elements_are_present(self.locators.HEADER_FIRST_LEVEL_ELEMENTS) # tags = [element.tag_name for element in elements] return self.elements_are_present(self.locators.HEADER_FIRST_LEVEL_ELEMENTS) diff --git a/tests/exercises_ru_similar_phrases_page_test.py b/tests/exercises_ru_similar_phrases_page_test.py index 30733d1580..48e65e6b8e 100644 --- a/tests/exercises_ru_similar_phrases_page_test.py +++ b/tests/exercises_ru_similar_phrases_page_test.py @@ -14,14 +14,18 @@ def test_ersp_01_01_verify_page_presence_and_visibility(self, driver, exercises_ assert page_content_presence, "The page content is absent in DOM" assert page_content_visibility, "The page content is invisible" - @allure.title("Verify composition, visibility of elements on the 1st level of nesting on the page") + @allure.title("Verify composition, visibility of elements on the 1st-3rd levels of nesting on the page") def test_ersp_01_02_verify_page_structure_and_visibility(self, driver, exercises_ru_similar_phrases_page_open): page = ExercisesRuSimilarPhrasesPage(driver) structure_of_1st_level = page.get_structure_of_1st_level() visibility_of_elements_on_1st_level = page.check_elements_visibility_on_1st_level() structure_of_2nd_level = page.get_structure_of_2nd_level() visibility_of_elements_on_2nd_level = page.check_elements_visibility_on_2nd_level() + structure_of_3rd_level = page.get_structure_of_3rd_level() + visibility_of_elements_on_3rd_level = page.check_elements_visibility_on_3rd_level() assert structure_of_1st_level, "The page is empty" assert visibility_of_elements_on_1st_level, "1th-level elements are invisible" assert structure_of_2nd_level, "Elements on the 2nd level are absent on the page" assert visibility_of_elements_on_2nd_level, "2nd-level elements are invisible" + assert structure_of_3rd_level, "Elements on the 3rd level are absent on the page" + assert visibility_of_elements_on_3rd_level, "3rd-level elements are invisible"