From 645553a60ec275ac5ba91db304bf36eaf7352fd7 Mon Sep 17 00:00:00 2001 From: Alena Krauch Date: Mon, 22 Sep 2025 23:47:14 +0300 Subject: [PATCH] add test_ersp_03.06 Verify subgroup links navigation update exercises_ru_similar_phrases_page_test.py, exercises_ru_similar_phrases_page.py, exercises_ru_similar_phrases_page_locators.py #478 --- ...xercises_ru_similar_phrases_page_locators.py | 6 ++++++ pages/exercises_ru_similar_phrases_page.py | 17 +++++++++++++++++ tests/exercises_ru_similar_phrases_page_test.py | 8 ++++++++ 3 files changed, 31 insertions(+) diff --git a/locators/exercises_ru_similar_phrases_page_locators.py b/locators/exercises_ru_similar_phrases_page_locators.py index d688204504..8b689e9386 100644 --- a/locators/exercises_ru_similar_phrases_page_locators.py +++ b/locators/exercises_ru_similar_phrases_page_locators.py @@ -17,4 +17,10 @@ class ExercisesRuSimilarPhrasesPageLocators: PAGE_LIST1_3 = (By.XPATH, '(//ul[@aria-label="Breadcrumbs"]//a)[3]') PAGE_LIST2 = (By.XPATH, "//aside//button") PAGE_LIST3 = (By.XPATH, '//div[contains(@class, "series-page")]//a') + PAGE_LIST3_1 = (By.XPATH, '(//div[contains(@class, "series-page")]//a)[1]') + PAGE_LIST3_2 = (By.XPATH, '(//div[contains(@class, "series-page")]//a)[2]') + PAGE_LIST3_3 = (By.XPATH, '(//div[contains(@class, "series-page")]//a)[3]') + PAGE_LIST3_4 = (By.XPATH, '(//div[contains(@class, "series-page")]//a)[4]') + PAGE_LIST3_5 = (By.XPATH, '(//div[contains(@class, "series-page")]//a)[5]') + PAGE_LIST3_6 = (By.XPATH, '(//div[contains(@class, "series-page")]//a)[6]') CARD_IMAGES_LIST4 = (By.XPATH, '//div[contains(@style, "svg")]') diff --git a/pages/exercises_ru_similar_phrases_page.py b/pages/exercises_ru_similar_phrases_page.py index bdcf118e86..bae7646bf7 100644 --- a/pages/exercises_ru_similar_phrases_page.py +++ b/pages/exercises_ru_similar_phrases_page.py @@ -193,5 +193,22 @@ def click_on_group_links(self): Wait(self.driver, self.timeout).until(EC.url_changes(self.get_current_tab_url())) opened_pages.append(self.get_current_tab_url()) + return opened_pages + + @allure.step("""Click on subgroup links and thereby open corresponding web pages in the same tab""") + def click_on_subgroup_links(self): + subgroup_locators = [self.locators.PAGE_LIST3_1, self.locators.PAGE_LIST3_2, + self.locators.PAGE_LIST3_3, self.locators.PAGE_LIST3_4, + self.locators.PAGE_LIST3_5, self.locators.PAGE_LIST3_6] + group_page_url = self.get_current_tab_url() + opened_pages = [] + + for link_locator in subgroup_locators: + self.element_is_clickable(link_locator).click() + Wait(self.driver, self.timeout).until(EC.url_changes(group_page_url)) + opened_pages.append(self.get_current_tab_url()) + self.driver.back() + Wait(self.driver, self.timeout).until(EC.url_to_be(group_page_url)) + print(*opened_pages, sep='\n') return opened_pages diff --git a/tests/exercises_ru_similar_phrases_page_test.py b/tests/exercises_ru_similar_phrases_page_test.py index 6e74cf5b31..c5bb960cd0 100644 --- a/tests/exercises_ru_similar_phrases_page_test.py +++ b/tests/exercises_ru_similar_phrases_page_test.py @@ -151,3 +151,11 @@ def test_ersp_03_05_verify_group_links_navigation(self, driver, exercises_ru_sim opened_pages = page.click_on_group_links() assert opened_pages, "Transitions to pages have not performed" assert all(element in erspPD.group_link_urls for element in opened_pages), "Links lead to incorrect pages" + + @allure.title("Verify if subgroup links lead to correct pages after clicking") + def test_ersp_03_06_verify_subgroup_links_navigation(self, driver, exercises_ru_similar_phrases_page_open): + page = erspPage(driver) + opened_pages = page.click_on_subgroup_links() + assert opened_pages, "Transitions to pages have not performed" + assert all(element in erspPD.subgroup_link_urls for element in opened_pages), \ + "Links lead to incorrect pages"