From fc1711bc8db29bde86f05a029dc434046aa1bfca Mon Sep 17 00:00:00 2001 From: Alena Krauch Date: Wed, 11 Jun 2025 21:06:16 +0300 Subject: [PATCH] update groups_page_test.py, groups_page.py --- pages/groups_page.py | 22 ++++++++++++---------- tests/groups_page_test.py | 7 ++++--- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/pages/groups_page.py b/pages/groups_page.py index 4d5507dee8..0da9bbe1fa 100644 --- a/pages/groups_page.py +++ b/pages/groups_page.py @@ -2,6 +2,8 @@ import time import allure import requests +from selenium.webdriver.support.wait import WebDriverWait as Wait + from pages.base_page import BasePage from locators.groups_page_locators import GroupsPageLocators, HeaderLocators from test_data.links import MainPageLinks as Links @@ -223,15 +225,15 @@ def get_images_sizes(self): @allure.step("Check changes of images sizes after resizing") def check_size_changes_of_images(self): - time.sleep(2) images = self.get_list_of_images() - images_sizes_before = [image.size for image in images] + before = [img.size for img in images] self.driver.set_window_size(400, 700) - time.sleep(2) - images_sizes_after = [image.size for image in images] - changed, lost, unchanged = [], [], [] - for i in range(len(images)): - changed.append(i) if images_sizes_before[i] != images_sizes_after[i] else unchanged.append(i) - lost.append(i) if images_sizes_after[i] == {'height': 0, 'width': 0} else None - # print('All images have changed sizes' if len(changed) == len(images) else 'Not all images have changed sizes') - return changed + + Wait(self.driver, 5).until(lambda d: any(before[i] != img.size for i, img in enumerate(images))) + + after = [img.size for img in images] + return { + 'changed': [i for i, (b, a) in enumerate(zip(before, after)) if b != a and a != {'height': 0, 'width': 0}], + 'unchanged': [i for i, (b, a) in enumerate(zip(before, after)) if b == a], + 'lost': [i for i, a in enumerate(after) if a == {'height': 0, 'width': 0}] + } diff --git a/tests/groups_page_test.py b/tests/groups_page_test.py index 86bed8a970..e10d99ac43 100644 --- a/tests/groups_page_test.py +++ b/tests/groups_page_test.py @@ -191,9 +191,10 @@ def test_gp_04_03_verify_images_alt_en(self, driver, groups_en_page_open): "The 'alt' attribute value of some images is empty or mismatches valid values on the 'en' local" @allure.title("Verify sizes of images in links on the page") - def test_gp_04_04_verify_images_sizes(self, driver, groups_ru_page_open): + def test_gp_04_04_verify_images_sizes(self, driver, groups_en_page_open): page = gPage(driver) images_size = page.get_images_sizes() - images_size_changed = page.check_size_changes_of_images() + result = page.check_size_changes_of_images() assert images_size != 0, "Images in links have not sizes" - assert len(images_size_changed) == len(gPD.images_src), "Not all images in links have changed sizes" + assert len(result['changed']) > 0, "Images have not been resized" + assert not result['lost'], f"Lost images: {result['lost']}"