Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 12 additions & 10 deletions pages/groups_page.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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}]
}
7 changes: 4 additions & 3 deletions tests/groups_page_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -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']}"
Loading