diff --git a/locators/exercises_ru_similar_phrases_page_locators.py b/locators/exercises_ru_similar_phrases_page_locators.py index d2d8c49acd..436661146b 100644 --- a/locators/exercises_ru_similar_phrases_page_locators.py +++ b/locators/exercises_ru_similar_phrases_page_locators.py @@ -13,3 +13,4 @@ class ExercisesRuSimilarPhrasesPageLocators: PAGE_SEVENTH_LEVEL_ELEMENTS = (By.XPATH, "//main/*/*/*/*/*/*/*") PAGE_LIST1 = (By.XPATH, '//ul[@aria-label="Breadcrumbs"]//a') PAGE_LIST2 = (By.XPATH, "//aside//button") + PAGE_LIST3 = (By.XPATH, '//div[contains(@class, "series-page")]//a') diff --git a/pages/exercises_ru_similar_phrases_page.py b/pages/exercises_ru_similar_phrases_page.py index abbc60c457..f58fcd2122 100644 --- a/pages/exercises_ru_similar_phrases_page.py +++ b/pages/exercises_ru_similar_phrases_page.py @@ -114,3 +114,14 @@ def get_list2_of_group_links(self): @allure.step("Check the list2 is visible") def check_list2_visibility(self): return self.element_is_visible(self.locators.PAGE_LIST2) + + @allure.step("Check the list3 on the 5th level of nesting is present on the page") + def get_list3_of_subgroup_links(self): + elements = self.elements_are_present(self.locators.PAGE_LIST3) + tags = [element.tag_name for element in elements] + print(*tags) + return elements + + @allure.step("Check the list3 is visible") + def check_list3_visibility(self): + return all(element.is_displayed() for element in self.get_list3_of_subgroup_links()) diff --git a/tests/exercises_ru_similar_phrases_page_test.py b/tests/exercises_ru_similar_phrases_page_test.py index 9d2c0c663a..7cef0404ed 100644 --- a/tests/exercises_ru_similar_phrases_page_test.py +++ b/tests/exercises_ru_similar_phrases_page_test.py @@ -47,13 +47,17 @@ def test_ersp_01_02_verify_page_structure_and_visibility(self, driver, exercises assert visibility_of_elements_on_7th_level, "7th-level elements are invisible" @allure.title("Verify presence, visibility of lists on the page") - def test_erw_01_03_verify_page_structural_elements(self, driver, exercises_ru_similar_phrases_page_open): + def test_ersp_01_03_verify_page_structural_elements(self, driver, exercises_ru_similar_phrases_page_open): page = ExercisesRuSimilarPhrasesPage(driver) list1_on_5th_level = page.get_list1_of_breadcrumbs_links() list1_visibility = page.check_list1_visibility() list2_on_5th_level = page.get_list2_of_group_links() list2_visibility = page.check_list2_visibility() + list3_on_5th_level = page.get_list3_of_subgroup_links() + list3_visibility = page.check_list3_visibility() assert list1_on_5th_level, "The list1 on the 5th level is absent on the page" assert list1_visibility, "The list1 on the 5th level is invisible" assert list2_on_5th_level, "The list2 on the 5th level is absent on the page" assert list2_visibility, "The list2 on the 5th level is invisible" + assert list3_on_5th_level, "The list3 on the 5th level is absent on the page" + assert list3_visibility, "The list3 on the 5th level is invisible"