⏱️ Duration: 20.16s
❌ Error:
self = <tests.test_image_resizer.TestImageResizer object at 0x7efe7f57f520>
image_resizer_page = <pages.image_resizer_page.ImageResizerPage object at 0x7efe7f8249d0>
login_page = <pages.login_page.LoginPage object at 0x7efe7f5a4580>
base_url = 'https://test05.testingpromo.com'
@pytest.mark.skip_smoke
@pytest.mark.skip_sanity
def test_im02_create_video_in_image_resizer_and_publish(
self, image_resizer_page: ImageResizerPage, login_page: LoginPage, base_url
):
"""
IM02 — Logged-in user creates a video in Image Resizer and publishes it.
Flow: login → IR page → upload → change ratio → select Facebook ratio → download
→ Convert to video → editor page → publish → pricing/publish page
"""
login_page.login_directly(base_url, general_mail(), get_password())
image_resizer_page.go_to_image_resizer(base_url)
image_resizer_page.upload_photo(upload_photo_path)
image_resizer_page.set_custom_dimensions(ir_custom_width, ir_custom_height)
# Select Facebook, Instagram, YouTube ratios then download selected images
> image_resizer_page.select_all_social_ratios_and_download()
tests/test_image_resizer.py:101:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pages.image_resizer_page.ImageResizerPage object at 0x7efe7f8249d0>
def select_all_social_ratios_and_download(self):
"""
Iterates through Facebook (aside 1), Instagram (aside 2), YouTube (aside 3),
selects a ratio for each and asserts it is marked as selected, then clicks
Download Selected Images once at the end.
Mirrors: select_diff_social_ratios() from Selenium.
"""
for aside_index, social in zip(range(4, 7), ("Facebook", "Instagram", "YouTube")):
self.page.locator(f"{self.ASIDE_ICON}[{aside_index}]").click()
self.page.wait_for_timeout(1_500)
item_xpath = self.SOCIAL
📸 Failure Screenshot: