From 40d82655d9c9534aa8ae7fd828ef0208a9ba0d3a Mon Sep 17 00:00:00 2001 From: Alena Krauch Date: Thu, 7 Aug 2025 14:23:36 +0300 Subject: [PATCH] ref test_erw_03.04 Verify navigation on breadcrumbs links update exercises_ru_words_page_test.py, exercises_ru_words_page.py #433 --- pages/exercises_ru_words_page.py | 32 +++++---------------------- tests/exercises_ru_words_page_test.py | 24 +++++--------------- 2 files changed, 10 insertions(+), 46 deletions(-) diff --git a/pages/exercises_ru_words_page.py b/pages/exercises_ru_words_page.py index a41cef9c04..afb27bd57a 100644 --- a/pages/exercises_ru_words_page.py +++ b/pages/exercises_ru_words_page.py @@ -2,6 +2,7 @@ import time import allure import requests +from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.wait import WebDriverWait as Wait from pages.base_page import BasePage from locators.exercises_ru_words_page_locators import ExercisesRuWordsPageLocators, HeaderLocators @@ -174,43 +175,20 @@ def get_subgroup_link_status_codes(self): def click_on_breadcrumbs_links(self): opened_pages = [] self.element_is_present_and_clickable(self.locators.PAGE_LIST1_1).click() - time.sleep(1) + Wait(self.driver, self.timeout).until(EC.url_changes(self.driver.current_url)) opened_pages.append(self.get_current_tab_url()) self.driver.back() + self.element_is_present_and_clickable(self.locators.PAGE_LIST1_2).click() opened_pages.append(self.get_current_tab_url()) self.driver.back() + self.element_is_present_and_clickable(self.locators.PAGE_LIST1_3).click() - time.sleep(1) opened_pages.append(self.get_current_tab_url()) + print(*opened_pages, sep='\n') return opened_pages - @allure.step("Click on breadcrumbs link 1 and thereby open corresponding the web page in the same tab") - def click_on_breadcrumbs_link1(self): - self.element_is_present_and_clickable(self.locators.PAGE_LIST1_1).click() - time.sleep(3) - opened_page = self.get_current_tab_url() - print(opened_page) - self.driver.back() - return opened_page - - @allure.step("Click on breadcrumbs link 2 and thereby open corresponding the web page in the same tab") - def click_on_breadcrumbs_link2(self): - self.element_is_present_and_clickable(self.locators.PAGE_LIST1_2).click() - opened_page = self.get_current_tab_url() - print(opened_page) - self.driver.back() - return opened_page - - @allure.step("Click on breadcrumbs link 3 and thereby open corresponding the web page in the same tab") - def click_on_breadcrumbs_link3(self): - self.element_is_present_and_clickable(self.locators.PAGE_LIST1_3).click() - opened_page = self.get_current_tab_url() - print(opened_page) - self.driver.back() - return opened_page - @allure.step("Click on group links and thereby open corresponding web pages in the same tab") def click_on_group_links(self): opened_pages = [] diff --git a/tests/exercises_ru_words_page_test.py b/tests/exercises_ru_words_page_test.py index d28024134f..487aabee08 100644 --- a/tests/exercises_ru_words_page_test.py +++ b/tests/exercises_ru_words_page_test.py @@ -142,26 +142,12 @@ def test_erw_03_03_verify_subgroup_links(self, driver, exercises_ru_words_page_o assert all(element in erwPD.links_status_code for element in subgroup_links_status_codes), \ "Status codes of subgroup links mismatch valid values" - @allure.title("Verify if breadcrumbs link1 leads to the correct page after clicking") - def test_erw_03_04_01_verify_breadcrumbs_link1_leads_to_correct_page(self, driver, exercises_ru_words_page_open): + @allure.title("Verify if breadcrumbs links lead to correct pages after clicking") + def test_erw_03_04_verify_breadcrumbs_links_navigation(self, driver, exercises_ru_words_page_open): page = erwPage(driver) - opened_page1 = page.click_on_breadcrumbs_link1() - assert opened_page1, "Transitions to pages have not performed" - assert opened_page1 in erwPD.breadcrumbs_urls, "The link leads to an incorrect page after clicking" - - @allure.title("Verify if breadcrumbs link2 leads to the correct page after clicking") - def test_erw_03_04_02_verify_breadcrumbs_link2_leads_to_correct_page(self, driver, exercises_ru_words_page_open): - page = erwPage(driver) - opened_page2 = page.click_on_breadcrumbs_link2() - assert opened_page2, "Transitions to pages have not performed" - assert opened_page2 in erwPD.breadcrumbs_urls, "The link leads to an incorrect page after clicking" - - @allure.title("Verify if breadcrumbs link3 leads to the correct page after clicking") - def test_erw_03_04_03_verify_breadcrumbs_link3_leads_to_correct_page(self, driver, exercises_ru_words_page_open): - page = erwPage(driver) - opened_page3 = page.click_on_breadcrumbs_link3() - assert opened_page3, "Transitions to pages have not performed" - assert opened_page3 in erwPD.breadcrumbs_urls, "The link leads to an incorrect page after clicking" + opened_pages = page.click_on_breadcrumbs_links() + assert opened_pages, "Transitions to pages have not performed" + assert all(element in erwPD.breadcrumbs_urls for element in opened_pages), "Links lead to incorrect pages" @allure.title("Verify if group links lead to correct pages after clicking") def test_erw_03_05_verify_group_links_lead_to_correct_pages(self, driver, exercises_ru_words_page_open):