Test Results (12 tests)
⏱️ Duration: 35.46s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7ffb9f5e51b0>
login_page = <pages.login_page.LoginPage object at 0x7ffb9f4ae230>
create_page = <pages.create_page.CreatePage object at 0x7ffb9f4ad900>
editor_page = <pages.editor_page.EditorPage object at 0x7ffb9f4ad960>
publish_page = <pages.publish_page.PublishPage object at 0x7ffb9f4afca0>
base_url = 'https://promo.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())
tests/test_web_render.py:97:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
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 0x7ffb9f5e7190>
cb = <function Channel.send.<locals>.<lambda> at 0x7ffb9eafb250>
is_internal = False, title = None
async def wrap_api_call(
self, cb: Callable[[], Any], is_internal: bool = False, title:
📸 Failure Screenshot:
⏱️ Duration: 113.87s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7ffb9f5e5690>
login_page = <pages.login_page.LoginPage object at 0x7ffb9d037520>
create_page = <pages.create_page.CreatePage object at 0x7ffb9d0a2650>
editor_page = <pages.editor_page.EditorPage object at 0x7ffb9d0a2bc0>
publish_page = <pages.publish_page.PublishPage object at 0x7ffb9d0a28c0>
base_url = 'https://promo.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())
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.upload_font_and_add(font_file_path)
tests/test_web_render.py:141:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/editor_page.py:627: in upload_font_and_add
self._add_google_font(google_font_name)
pages/editor_page.py:641: in _add_google_font
self.page.locator(self.FONTS_DROPDOWN).click()
/usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:17876: in click
self._sync(
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_locator.py:165: in click
return await self._frame._click(self._selector, strict=True, **params)
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_frame.py:593: in _click
await self._channel.send("click", self._timeout, locals_to_params(locals()))
/usr/local/lib/python3.10/dist-packages/playwright/_impl/_connection.py:76: in send
return await
📸 Failure Screenshot:
⏱️ Duration: 489.13s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7ffb9f5e58d0>
login_page = <pages.login_page.LoginPage object at 0x7ffb9d037970>
create_page = <pages.create_page.CreatePage object at 0x7ffb9d0b8a30>
editor_page = <pages.editor_page.EditorPage object at 0x7ffb9d0b8d00>
publish_page = <pages.publish_page.PublishPage object at 0x7ffb9d0b8250>
base_url = 'https://promo.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)
create_page.use_uploaded_video()
editor_page.verify_editor_loaded()
editor_page.publish_video()
> publish_page.wait_for_render_and_verify()
tests/test_web_render.py:177:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
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-packages/playwright/_impl/_connection.py:76: in send
return await self._connection.wrap_api_call(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <playwright._impl._connection.Connection object at 0x
📸 Failure Screenshot:
⏱️ Duration: 35.72s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7ffb9f5e6770>
login_page = <pages.login_page.LoginPage object at 0x7ffb9c6c0cd0>
dashboard_page = <pages.dashboard_page.DashboardPage object at 0x7ffb9c6c3100>
publish_page = <pages.publish_page.PublishPage object at 0x7ffb9c6c3430>
base_url = 'https://promo.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 0x7ffb9f5e7190>
cb = <function Channel.send.<locals>.<lambda> at 0x7ffb9de0be20>
is_internal = False, title = None
async def wrap_api_call(
self, cb: Callable[[], Any], is_internal: bool = False, title: str = None
📸 Failure Screenshot:
⏱️ Duration: 190.22s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7ffb9f5e7040>
login_page = <pages.login_page.LoginPage object at 0x7ffb9d0a1cf0>
create_page = <pages.create_page.CreatePage object at 0x7ffb9d0a2da0>
editor_page = <pages.editor_page.EditorPage object at 0x7ffb9d0a1720>
publish_page = <pages.publish_page.PublishPage object at 0x7ffb9d0a0f10>
publisher_page = <pages.publisher_page.PublisherPage object at 0x7ffb9c49c550>
planner_page = <pages.planner_page.PlannerPage object at 0x7ffb9c49d180>
base_url = 'https://promo.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())
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.edit_actions_on_timeline()
editor_page.publish_video()
publish_page.wait_for_render_and_verify()
publish_page.verify_player()
publish_page.click_schedule_to_social()
> publisher_page.verify_redirected_to_publisher()
tests/test_web_render.py:294:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/publisher_page.py:85: in verify_redirected_to_publisher
self.page.locator(self.PUBLISH_BTN).wait_for(state="visible", timeout=self.T_SLOW)
/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/playwrig
📸 Failure Screenshot:
⏱️ Duration: 34.11s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7ffb9f5e6bf0>
login_page = <pages.login_page.LoginPage object at 0x7ffb9c553cd0>
create_page = <pages.create_page.CreatePage object at 0x7ffb9c553b80>
editor_page = <pages.editor_page.EditorPage object at 0x7ffb9c552380>
publish_page = <pages.publish_page.PublishPage object at 0x7ffb9c550250>
base_url = 'https://promo.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: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 0x7ffb9f5e7190>
cb = <function Channel.send.<locals>.<lambda> at 0x7ffb9c729ab0>
is_internal = False, title = None
async def wrap_api_call(
self, cb: Callable[[], Any], is_internal: bool = False, title: str = None
) -> Any:
if s
📸 Failure Screenshot:
⏱️ Duration: 34.26s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7ffb9f5e41c0>
login_page = <pages.login_page.LoginPage object at 0x7ffb9c555060>
create_page = <pages.create_page.CreatePage object at 0x7ffb9c556170>
editor_page = <pages.editor_page.EditorPage object at 0x7ffb9c554a30>
publish_page = <pages.publish_page.PublishPage object at 0x7ffb9c556230>
base_url = 'https://promo.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: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 0x7ffb9f5e7190>
cb = <function Channel.send.<locals>.<lambda> at 0x7ffb9de0beb0>
is_internal = False, title = None
async def wrap_api_call(
📸 Failure Screenshot: