|
2 | 2 | import time
|
3 | 3 | import allure
|
4 | 4 | import requests
|
| 5 | +from selenium.webdriver.support.wait import WebDriverWait as Wait |
| 6 | + |
5 | 7 | from pages.base_page import BasePage
|
6 | 8 | from locators.groups_page_locators import GroupsPageLocators, HeaderLocators
|
7 | 9 | from test_data.links import MainPageLinks as Links
|
@@ -223,15 +225,15 @@ def get_images_sizes(self):
|
223 | 225 |
|
224 | 226 | @allure.step("Check changes of images sizes after resizing")
|
225 | 227 | def check_size_changes_of_images(self):
|
226 |
| - time.sleep(2) |
227 | 228 | images = self.get_list_of_images()
|
228 |
| - images_sizes_before = [image.size for image in images] |
| 229 | + before = [img.size for img in images] |
229 | 230 | self.driver.set_window_size(400, 700)
|
230 |
| - time.sleep(2) |
231 |
| - images_sizes_after = [image.size for image in images] |
232 |
| - changed, lost, unchanged = [], [], [] |
233 |
| - for i in range(len(images)): |
234 |
| - changed.append(i) if images_sizes_before[i] != images_sizes_after[i] else unchanged.append(i) |
235 |
| - lost.append(i) if images_sizes_after[i] == {'height': 0, 'width': 0} else None |
236 |
| - # print('All images have changed sizes' if len(changed) == len(images) else 'Not all images have changed sizes') |
237 |
| - return changed |
| 231 | + |
| 232 | + Wait(self.driver, 5).until(lambda d: any(before[i] != img.size for i, img in enumerate(images))) |
| 233 | + |
| 234 | + after = [img.size for img in images] |
| 235 | + return { |
| 236 | + 'changed': [i for i, (b, a) in enumerate(zip(before, after)) if b != a and a != {'height': 0, 'width': 0}], |
| 237 | + 'unchanged': [i for i, (b, a) in enumerate(zip(before, after)) if b == a], |
| 238 | + 'lost': [i for i, a in enumerate(after) if a == {'height': 0, 'width': 0}] |
| 239 | + } |
0 commit comments