diff --git a/locators/exercises_ru_words_family_page_locators.py b/locators/exercises_ru_words_family_page_locators.py index 31d52b3f0a..db8e80e9da 100644 --- a/locators/exercises_ru_words_family_page_locators.py +++ b/locators/exercises_ru_words_family_page_locators.py @@ -7,3 +7,4 @@ class ExercisesRuWordsFamilyPageLocators: PAGE_FIRST_LEVEL_ELEMENTS = (By.XPATH, "//main/*") PAGE_SECOND_LEVEL_ELEMENTS = (By.XPATH, "//main/*/*") PAGE_THIRD_LEVEL_ELEMENTS = (By.XPATH, "//main/*/*/*") + PAGE_FOURTH_LEVEL_ELEMENTS = (By.XPATH, "//main/*/*/*/*") diff --git a/pages/exercises_ru_words_family_page.py b/pages/exercises_ru_words_family_page.py index 30aa11744e..901d87133b 100644 --- a/pages/exercises_ru_words_family_page.py +++ b/pages/exercises_ru_words_family_page.py @@ -35,11 +35,15 @@ def check_elements_visibility_on_2nd_level(self): @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, sep='\n') - return elements + return self.elements_are_present(self.locators.PAGE_THIRD_LEVEL_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()) + + @allure.step("Get structure of the 4th level of nesting on the page") + def get_structure_of_4th_level(self): + elements = self.elements_are_present(self.locators.PAGE_FOURTH_LEVEL_ELEMENTS) + tags = [element.tag_name for element in elements] + print(*tags, sep='\n') + return elements diff --git a/tests/exercises_ru_words_family_page_test.py b/tests/exercises_ru_words_family_page_test.py index 69216369cd..f29eebe2ac 100644 --- a/tests/exercises_ru_words_family_page_test.py +++ b/tests/exercises_ru_words_family_page_test.py @@ -15,7 +15,7 @@ def test_erwf_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-3rd levels of nesting on the page") + @allure.title("Verify composition, visibility of elements on the 1st-4th levels of nesting on the page") def test_erwf_01_02_verify_page_structure_and_visibility(self, driver, exercises_ru_words_family_page_open): page = erwfPage(driver) structure_of_1st_level = page.get_structure_of_1st_level() @@ -24,9 +24,11 @@ def test_erwf_01_02_verify_page_structure_and_visibility(self, driver, exercises 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() + structure_of_4th_level = page.get_structure_of_4th_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" + assert structure_of_4th_level, "Elements on the 4th level are absent on the page"