Test Results (12 tests)
⏱️ Duration: 320.57s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7f47020ffc70>
login_page = <pages.login_page.LoginPage object at 0x7f470226b8b0>
create_page = <pages.create_page.CreatePage object at 0x7f470226a8f0>
editor_page = <pages.editor_page.EditorPage object at 0x7f470226b1c0>
publish_page = <pages.publish_page.PublishPage object at 0x7f470226b6d0>
base_url = 'https://test03.testingpromo.com'
def test_w03_customize_video_and_render(
self, login_page, create_page, editor_page, publish_page, base_url
):
"""
W03 Customize a video and render it
Verifies sorting on the create page, searches for a summer template,
customises it with text/color/font/ratio/outro changes, publishes,
then returns to the editor to discard and re-publish.
"""
login_page.login_directly(base_url, general_mail(), get_password())
create_page.navigate_to_create(base_url)
create_page.verify_sorting()
create_page.search_for("summer")
create_page.select_videos_from_type_dropdown()
create_page.customize_first_video()
editor_page.verify_editor_loaded()
editor_page.edit_actions_on_timeline()
editor_page.add_caption()
editor_page.add_characters_in_text_animation()
editor_page.change_font_and_background_color()
editor_page.change_text_alignment()
editor_page.change_font()
editor_page.change_capitalization_style()
editor_page.change_text_positions()
editor_page.change_text_style()
editor_page.change_ratio()
editor_page.change_outro_background(upload_photo_path)
editor_page.publish_video()
> editor_page.go_back_to_editor_and_discard()
tests/test_web_render.py:120:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/editor_page.py:545: in go_back_to_editor_and_discard
edit_btn.wait_for(state="visible", timeout=260_000)
/usr/local/li
📸 Failure Screenshot:
⏱️ Duration: 30.65s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7f47020fe440>
login_page = <pages.login_page.LoginPage object at 0x7f4700463040>
create_page = <pages.create_page.CreatePage object at 0x7f47004630d0>
editor_page = <pages.editor_page.EditorPage object at 0x7f4700463280>
publish_page = <pages.publish_page.PublishPage object at 0x7f4700462560>
base_url = 'https://test03.testingpromo.com'
def test_w04_custom_uploaded_assets_and_render(
self, login_page, create_page, editor_page, publish_page, base_url
):
"""
W04 Add custom uploaded assets to a video and render it
Uploads custom font, watermark, logo, and audio; adds a new video clip
from the media library; adds a photo; changes transitions; verifies
favourites; then publishes.
"""
> login_page.login_directly(base_url, general_mail(), get_password())
tests/test_web_render.py:133:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/login_page.py:116: in login_directly
self.page.wait_for_function(
/usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:12761: in wait_for_function
self._sync(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_page.py:1151: in wait_for_function
return await self._main_frame.wait_for_function(**locals_to_params(locals()))
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_frame.py:940: in wait_for_function
await self._channel.send("waitForFunction", self._timeout, params)
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_connection.py:76: in send
return await self._connection.wrap_api_call(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <playwright._impl._connection.Connection object at 0x7f47020fc3d0>
cb = <function Channel.send.<locals>.<lambda> at 0x7f47015a1630>
is_internal = False, title = None
async def wrap_api_call(
self, cb: Callable[[], Any], is_internal: b
📸 Failure Screenshot:
⏱️ Duration: 131.32s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7f47020fe0e0>
login_page = <pages.login_page.LoginPage object at 0x7f470055e350>
create_page = <pages.create_page.CreatePage object at 0x7f470055e500>
editor_page = <pages.editor_page.EditorPage object at 0x7f470055e110>
publish_page = <pages.publish_page.PublishPage object at 0x7f470055d4e0>
base_url = 'https://test03.testingpromo.com'
def test_w05_create_video_from_uploaded_video(
self, login_page, create_page, editor_page, publish_page, base_url
):
"""
W05 Create a video from uploaded video
Uploads a video file on the create page, creates a project from it,
publishes/renders, then returns to create page and deletes the upload.
"""
login_page.login_directly(base_url, general_mail(), get_password())
create_page.navigate_to_create(base_url)
> create_page.upload_video_from_file(upload_video_path)
tests/test_web_render.py:172:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/create_page.py:275: in upload_video_from_file
popup.wait_for(state="hidden", timeout=120_000)
/usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:20539: in wait_for
self._sync(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_locator.py:748: in wait_for
await self._frame.wait_for_selector(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_frame.py:394: in wait_for_selector
await self._channel.send(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_connection.py:76: in send
return await self._connection.wrap_api_call(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <playwright._impl._connection.Connection object at 0x7f47020fc3d0>
cb = <function Channel.send.<locals>.<lambda> at 0x7f4701587b50>
is_internal = False, title = None
async def wrap_api_call(
self, cb: Callable[[], Any], is_internal: bool = Fa
📸 Failure Screenshot:
⏱️ Duration: 58.32s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7f47020fdd80>
login_page = <pages.login_page.LoginPage object at 0x7f47004c0b50>
dashboard_page = <pages.dashboard_page.DashboardPage object at 0x7f47004c1420>
publish_page = <pages.publish_page.PublishPage object at 0x7f47004c1600>
base_url = 'https://test03.testingpromo.com'
@pytest.mark.skip_smoke
def test_w18_aspect_ratio_functionalities(
self, login_page, dashboard_page, publish_page, base_url
):
"""
W18 Verify aspect ratio functionalities
Navigates to the Dashboard Published tab, republishes the first video,
then on the publish page renders every unrendered aspect ratio (each
"+" ratio button → editor → Save & Preview → wait for render → verify).
"""
> login_page.login_directly(base_url, general_mail(), get_password())
tests/test_web_render.py:192:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/login_page.py:116: in login_directly
self.page.wait_for_function(
/usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:12761: in wait_for_function
self._sync(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_page.py:1151: in wait_for_function
return await self._main_frame.wait_for_function(**locals_to_params(locals()))
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_frame.py:940: in wait_for_function
await self._channel.send("waitForFunction", self._timeout, params)
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_connection.py:76: in send
return await self._connection.wrap_api_call(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <playwright._impl._connection.Connection object at 0x7f47020fc3d0>
cb = <function Channel.send.<locals>.<lambda> at 0x7f47013aa9e0>
is_internal = False, title = None
async def wrap_api_call(
self, cb: Callable[[], Any], is_internal: bool = False, title:
📸 Failure Screenshot:
⏱️ Duration: 441.27s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7f47020fda20>
login_page = <pages.login_page.LoginPage object at 0x7f46f9e76e60>
create_page = <pages.create_page.CreatePage object at 0x7f46f9e762f0>
editor_page = <pages.editor_page.EditorPage object at 0x7f46f9e76410>
publish_page = <pages.publish_page.PublishPage object at 0x7f46f9e763e0>
base_url = 'https://test03.testingpromo.com'
@pytest.mark.skip_smoke
def test_w16_audio_filters_and_render_with_changed_music(
self, login_page, create_page, editor_page, publish_page, base_url
):
"""
W16 Verify audio filters and render a video with changed music
Opens the music library in the editor, tests Genre/Mood/Instrument
filters, selects a track from the library, then publishes and renders.
"""
login_page.login_directly(base_url, general_mail(), get_password())
create_page.navigate_to_create(base_url)
create_page.search_for("summer")
create_page.select_videos_from_type_dropdown()
create_page.customize_first_video()
editor_page.verify_editor_loaded()
editor_page.go_to_music_tab()
editor_page.verify_audio_filters()
editor_page.select_audio_track()
editor_page.publish_video()
> publish_page.wait_for_render_and_verify()
tests/test_web_render.py:222:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/publish_page.py:32: in wait_for_render_and_verify
self.page.locator(self.PUBLISH_READY).wait_for(state="visible", timeout=max_wait_ms)
/usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:20539: in wait_for
self._sync(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_locator.py:748: in wait_for
await self._frame.wait_for_selector(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_frame.py:394: in wait_for_selector
await self._channel.send(
/usr/local/lib/python3.10/dist-pack
📸 Failure Screenshot:
⏱️ Duration: 30.03s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7f47020fd360>
login_page = <pages.login_page.LoginPage object at 0x7f46fa788df0>
create_page = <pages.create_page.CreatePage object at 0x7f46fa788040>
editor_page = <pages.editor_page.EditorPage object at 0x7f46fa789b10>
publish_page = <pages.publish_page.PublishPage object at 0x7f46fa789bd0>
dashboard_page = <pages.dashboard_page.DashboardPage object at 0x7f46fa789660>
base_url = 'https://test03.testingpromo.com'
def test_w17_edit_published_video_from_dashboard(
self, login_page, create_page, editor_page, publish_page, dashboard_page, base_url
):
"""
W17 Edit published video starting from Dashboard
Creates and renders a video, downloads it in HD, then navigates to the
published dashboard, re-opens the video in the editor, verifies the
editor is in 'published edit' mode (Save & Publish button, no ratio toolbar),
adds a new media clip, and re-publishes.
"""
> login_page.login_directly(base_url, general_mail(), get_password())
tests/test_web_render.py:249:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/login_page.py:107: in login_directly
self.go_to_login_page(base_url)
pages/login_page.py:43: in go_to_login_page
self.page.goto(f"{base_url}/login", wait_until="domcontentloaded")
/usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:9875: in goto
self._sync(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_page.py:560: in goto
return await self._main_frame.goto(**locals_to_params(locals()))
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_frame.py:156: in goto
await self._channel.send(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_connection.py:76: in send
return await self._connection.wrap_api_call(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <playwright._impl._connection.Conne
⏱️ Duration: 30.03s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7f47020fd000>
login_page = <pages.login_page.LoginPage object at 0x7f470050f4f0>
create_page = <pages.create_page.CreatePage object at 0x7f470050cf10>
editor_page = <pages.editor_page.EditorPage object at 0x7f470050c040>
publish_page = <pages.publish_page.PublishPage object at 0x7f470050efe0>
publisher_page = <pages.publisher_page.PublisherPage object at 0x7f470050f730>
planner_page = <pages.planner_page.PlannerPage object at 0x7f470050ed10>
base_url = 'https://test03.testingpromo.com'
def test_w24_verify_all_players(
self, login_page, create_page, editor_page, publish_page, publisher_page, planner_page, base_url
):
"""
W24 Verify all players
Creates and renders a video, verifies the player on the publish page,
schedules to Facebook via the Publisher (verifies player in composer),
publishes the post, navigates to the Planner and verifies the player there.
"""
> login_page.login_directly(base_url, general_mail(), get_password())
tests/test_web_render.py:279:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/login_page.py:107: in login_directly
self.go_to_login_page(base_url)
pages/login_page.py:43: in go_to_login_page
self.page.goto(f"{base_url}/login", wait_until="domcontentloaded")
/usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:9875: in goto
self._sync(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_page.py:560: in goto
return await self._main_frame.goto(**locals_to_params(locals()))
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_frame.py:156: in goto
await self._channel.send(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_connection.py:76: in send
return await self._connection.wrap_api_call(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <playwright._impl._connection.Connection
⏱️ Duration: 20.18s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7f47020fdc00>
login_page = <pages.login_page.LoginPage object at 0x7f4700172500>
create_page = <pages.create_page.CreatePage object at 0x7f4700171c90>
editor_page = <pages.editor_page.EditorPage object at 0x7f47001727d0>
publish_page = <pages.publish_page.PublishPage object at 0x7f47001733d0>
base_url = 'https://test03.testingpromo.com'
def test_w30_create_video_from_photo(
self, login_page, create_page, editor_page, publish_page, base_url
):
"""
W30 Create a video from a photo
Switches the create-page library to Photos, adds the first photo result
to a new project, edits it on the timeline (zoom), publishes and verifies
the render.
"""
> login_page.login_directly(base_url, general_mail(), get_password())
tests/test_web_render.py:313:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/login_page.py:109: in login_directly
self.enter_email(email)
pages/login_page.py:73: in enter_email
self.page.locator(self.EMAIL_INPUT).fill(email)
/usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:18242: in fill
self._sync(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_locator.py:219: in fill
return await self._frame.fill(self._selector, strict=True, **params)
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_frame.py:636: in fill
await self._fill(**locals_to_params(locals()))
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_frame.py:648: in _fill
await self._channel.send("fill", self._timeout, locals_to_params(locals()))
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_connection.py:76: in send
return await self._connection.wrap_api_call(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <playwright._impl._connection.Connection object at 0x7f47020fc3d0>
cb = <function Channel.send.<locals>.<lamb
📸 Failure Screenshot:
⏱️ Duration: 20.19s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7f47020fcdc0>
login_page = <pages.login_page.LoginPage object at 0x7f4700462620>
create_page = <pages.create_page.CreatePage object at 0x7f47004638b0>
editor_page = <pages.editor_page.EditorPage object at 0x7f46f9e9a440>
publish_page = <pages.publish_page.PublishPage object at 0x7f46f9e98df0>
base_url = 'https://test03.testingpromo.com', resolution = 'hd'
@pytest.mark.parametrize("resolution", ["hd", "full_hd", "streaming_full_hd"])
def test_w29_download_video_from_publish_page(
self, login_page, create_page, editor_page, publish_page, base_url, resolution
):
"""
W29 Download a video from the publish page
Login, create a short video from "summer" search, publish it, then download
in the specified resolution and verify the download event fires.
"""
> login_page.login_directly(base_url, general_mail(), get_password())
tests/test_web_render.py:334:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/login_page.py:109: in login_directly
self.enter_email(email)
pages/login_page.py:73: in enter_email
self.page.locator(self.EMAIL_INPUT).fill(email)
/usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:18242: in fill
self._sync(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_locator.py:219: in fill
return await self._frame.fill(self._selector, strict=True, **params)
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_frame.py:636: in fill
await self._fill(**locals_to_params(locals()))
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_frame.py:648: in _fill
await self._channel.send("fill", self._timeout, locals_to_params(locals()))
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_connection.py:76: in send
return await self._connection.wrap_api_call(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self =
📸 Failure Screenshot:
⏱️ Duration: 20.20s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7f47020fcc40>
login_page = <pages.login_page.LoginPage object at 0x7f47021eb5e0>
create_page = <pages.create_page.CreatePage object at 0x7f47021e9e70>
editor_page = <pages.editor_page.EditorPage object at 0x7f47021eaa40>
publish_page = <pages.publish_page.PublishPage object at 0x7f47021ea410>
base_url = 'https://test03.testingpromo.com', resolution = 'full_hd'
@pytest.mark.parametrize("resolution", ["hd", "full_hd", "streaming_full_hd"])
def test_w29_download_video_from_publish_page(
self, login_page, create_page, editor_page, publish_page, base_url, resolution
):
"""
W29 Download a video from the publish page
Login, create a short video from "summer" search, publish it, then download
in the specified resolution and verify the download event fires.
"""
> login_page.login_directly(base_url, general_mail(), get_password())
tests/test_web_render.py:334:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/login_page.py:109: in login_directly
self.enter_email(email)
pages/login_page.py:73: in enter_email
self.page.locator(self.EMAIL_INPUT).fill(email)
/usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:18242: in fill
self._sync(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_locator.py:219: in fill
return await self._frame.fill(self._selector, strict=True, **params)
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_frame.py:636: in fill
await self._fill(**locals_to_params(locals()))
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_frame.py:648: in _fill
await self._channel.send("fill", self._timeout, locals_to_params(locals()))
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_connection.py:76: in send
return await self._connection.wrap_api_call(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
se
📸 Failure Screenshot:
⏱️ Duration: 20.22s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7f47020fca90>
login_page = <pages.login_page.LoginPage object at 0x7f46f9e459f0>
create_page = <pages.create_page.CreatePage object at 0x7f46f9e45c90>
editor_page = <pages.editor_page.EditorPage object at 0x7f46f9e467d0>
publish_page = <pages.publish_page.PublishPage object at 0x7f46f9e46c20>
base_url = 'https://test03.testingpromo.com', resolution = 'streaming_full_hd'
@pytest.mark.parametrize("resolution", ["hd", "full_hd", "streaming_full_hd"])
def test_w29_download_video_from_publish_page(
self, login_page, create_page, editor_page, publish_page, base_url, resolution
):
"""
W29 Download a video from the publish page
Login, create a short video from "summer" search, publish it, then download
in the specified resolution and verify the download event fires.
"""
> login_page.login_directly(base_url, general_mail(), get_password())
tests/test_web_render.py:334:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/login_page.py:109: in login_directly
self.enter_email(email)
pages/login_page.py:73: in enter_email
self.page.locator(self.EMAIL_INPUT).fill(email)
/usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:18242: in fill
self._sync(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_locator.py:219: in fill
return await self._frame.fill(self._selector, strict=True, **params)
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_frame.py:636: in fill
await self._fill(**locals_to_params(locals()))
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_frame.py:648: in _fill
await self._channel.send("fill", self._timeout, locals_to_params(locals()))
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_connection.py:76: in send
return await self._connection.wrap_api_call(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
📸 Failure Screenshot: