From 03a21a9a61b8948d7cc6c1f1c0d632d050e2d942 Mon Sep 17 00:00:00 2001 From: Alena Krauch Date: Thu, 19 Jun 2025 21:38:52 +0300 Subject: [PATCH] update exercises_ru_words_page_test.py, exercises_ru_words_page.py, conftest.py --- pages/exercises_ru_words_page.py | 21 +++++++++++---------- tests/conftest.py | 7 ------- tests/exercises_ru_words_page_test.py | 6 +++--- 3 files changed, 14 insertions(+), 20 deletions(-) diff --git a/pages/exercises_ru_words_page.py b/pages/exercises_ru_words_page.py index 3ab8476d22..836aab04a3 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.wait import WebDriverWait as Wait from pages.base_page import BasePage from locators.exercises_ru_words_page_locators import ExercisesRuWordsPageLocators, HeaderLocators @@ -304,15 +305,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_list4_of_links() - 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/conftest.py b/tests/conftest.py index 9a0ff88136..b148a2f190 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -99,13 +99,6 @@ def page_fully_loaded(driver): Wait(driver, 10).until(EC.presence_of_all_elements_located(erspPL.PAGE_LIST3)) -@pytest.fixture() -@allure.step(f'Open page: {ExercisesUrls.URL_EXERCISES_RU_WORDS_PAGE}') -def exercises_ru_words_page_open1(driver, groups_ru_page_open): - driver.get(ExercisesUrls.URL_EXERCISES_RU_WORDS_PAGE) - time.sleep(3) - - @pytest.fixture() @allure.step(f'Open page: {ExercisesUrls.URL_EXERCISES_RU_WORDS_PAGE} on the "ru" local') def exercises_ru_words_page_open(driver, groups_ru_page_open): diff --git a/tests/exercises_ru_words_page_test.py b/tests/exercises_ru_words_page_test.py index 53c53fca5c..d28024134f 100644 --- a/tests/exercises_ru_words_page_test.py +++ b/tests/exercises_ru_words_page_test.py @@ -196,7 +196,7 @@ def test_erw_04_01_verify_images_attributes(self, driver, exercises_ru_words_pag def test_erw_04_02_verify_images_sizes(self, driver, exercises_ru_words_page_open): page = erwPage(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, "Background-images have not sizes" - assert len(images_size_changed) == len(erwPD.subgroup_links_style), \ - "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']}"