From 4b778bcc73c72e5b4c48c5e33a1cc31b72fbf6dc Mon Sep 17 00:00:00 2001 From: Alena Krauch Date: Sat, 24 May 2025 13:29:50 +0300 Subject: [PATCH] update groups_page_test.py, groups_page.py, conftest.py --- pages/groups_page.py | 17 +++++++++++++++-- tests/conftest.py | 4 +++- tests/groups_page_test.py | 2 +- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/pages/groups_page.py b/pages/groups_page.py index e37ac0948d..dd2ccc741d 100644 --- a/pages/groups_page.py +++ b/pages/groups_page.py @@ -6,11 +6,20 @@ from locators.groups_page_locators import GroupsPageLocators, HeaderLocators from test_data.links import MainPageLinks as Links +from selenium.webdriver.support.ui import WebDriverWait +from selenium.webdriver.support import expected_conditions as ec + class GroupsPage(BasePage): locators = GroupsPageLocators locators1 = HeaderLocators + @allure.step("Loader checking") + def loader_checking(self): + self.timeout = 50 + return WebDriverWait(self.driver, self.timeout).until( + ec.visibility_of_element_located(self.locators.PAGE_SUBTITLES)) + # Checking the structure and display of elements on the page @allure.step("Check if some content is present in DOM") def check_presence_of_page_content(self): @@ -67,14 +76,18 @@ def check_elements_visibility_on_5th_level(self): @allure.step("Get structure of the 6th level of nesting on the page") def get_structure_of_6th_level(self): + WebDriverWait(self.driver, 30).until( + ec.presence_of_all_elements_located(self.locators.PAGE_SIXTH_LEVEL_ELEMENTS)) elements = self.elements_are_present(self.locators.PAGE_SIXTH_LEVEL_ELEMENTS) # tags = [element.tag_name for element in elements] return elements @allure.step("Check if elements of the 6th level of nesting are visible") def check_elements_visibility_on_6th_level(self): - time.sleep(3) - return all(element.is_displayed() for element in self.get_structure_of_6th_level()) + elements = self.get_structure_of_6th_level() + for element in elements: + WebDriverWait(self.driver, 10).until(ec.visibility_of(element)) + return all(element.is_displayed() for element in elements) @allure.step("Check the title h3 on the 2nd level of nesting is present on the page") def check_title_presence(self): diff --git a/tests/conftest.py b/tests/conftest.py index 86f9db0a2e..ad9e5fd92d 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -57,7 +57,9 @@ def description_page_open(driver): def groups_ru_page_open(driver, auto_test_user_authorized): page = GroupsPage(driver) page.element_is_present_and_clickable(huLocators.RU_BUTTON).click() - page.element_is_present(GroupsPageLocators.PAGE_TITLE) + page.element_is_visible(GroupsPageLocators.PAGE_SUBTITLES) + page.check_expected_link(ExercisesUrls.STARTING_POINT) + page.loader_checking() @pytest.fixture() diff --git a/tests/groups_page_test.py b/tests/groups_page_test.py index 970cf3c173..686a43e266 100644 --- a/tests/groups_page_test.py +++ b/tests/groups_page_test.py @@ -179,7 +179,7 @@ def test_gp_04_02_verify_images_alt_ru(self, driver, groups_ru_page_open): assert all(element in gPD.images_alt_ru for element in images_alt_ru), \ "The 'alt' attribute value of some images is empty or mismatches valid values on the 'ru' local" - def test_gp_04_03_verify_images_slt_en(self, driver, groups_en_page_open): + def test_gp_04_03_verify_images_alt_en(self, driver, groups_en_page_open): page = gPage(driver) images_alt_en = page.get_images_alt_en() assert images_alt_en, "The 'alt' attribute value of some images is empty on the 'en' local"