Test Results (11 tests)
⏱️ Duration: 114.57s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7fef23ba7a90>
login_page = <pages.login_page.LoginPage object at 0x7fef23f3fca0>
create_page = <pages.create_page.CreatePage object at 0x7fef23ba4670>
editor_page = <pages.editor_page.EditorPage object at 0x7fef23d1aef0>
publish_page = <pages.publish_page.PublishPage object at 0x7fef23d1b3d0>
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())
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()
tests/test_web_render.py:106:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/editor_page.py:272: in verify_editor_loaded
self.page.locator(self.RATIO_TOOLBAR).wait_for(state="visible", timeout=self.T_EDITOR)
/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._i
📸 Failure Screenshot:
⏱️ Duration: 112.68s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7fef23ba7f70>
login_page = <pages.login_page.LoginPage object at 0x7fef220b4eb0>
create_page = <pages.create_page.CreatePage object at 0x7fef220b4f40>
editor_page = <pages.editor_page.EditorPage object at 0x7fef220b51b0>
publish_page = <pages.publish_page.PublishPage object at 0x7fef220b4ac0>
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()
tests/test_web_render.py:140:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/editor_page.py:272: in verify_editor_loaded
self.page.locator(self.RATIO_TOOLBAR).wait_for(state="visible", timeout=self.T_EDITOR)
/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 0
📸 Failure Screenshot:
⏱️ Duration: 125.19s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7fef23ba60e0>
login_page = <pages.login_page.LoginPage object at 0x7fef23c8d120>
create_page = <pages.create_page.CreatePage object at 0x7fef23c8e350>
editor_page = <pages.editor_page.EditorPage object at 0x7fef23c8fca0>
publish_page = <pages.publish_page.PublishPage object at 0x7fef23c8dde0>
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()
tests/test_web_render.py:175:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/editor_page.py:272: in verify_editor_loaded
self.page.locator(self.RATIO_TOOLBAR).wait_for(state="visible", timeout=self.T_EDITOR)
/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 0x7fef23ba4340>
cb = <function Channel.send.<locals>.<lambda> at 0x7fef2046bf40>
is_internal
📸 Failure Screenshot:
⏱️ Duration: 114.98s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7fef23ba5a20>
login_page = <pages.login_page.LoginPage object at 0x7fef2031dde0>
create_page = <pages.create_page.CreatePage object at 0x7fef2031cd30>
editor_page = <pages.editor_page.EditorPage object at 0x7fef2031cca0>
publish_page = <pages.publish_page.PublishPage object at 0x7fef2031c6d0>
base_url = 'https://promo.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()
tests/test_web_render.py:216:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/editor_page.py:272: in verify_editor_loaded
self.page.locator(self.RATIO_TOOLBAR).wait_for(state="visible", timeout=self.T_EDITOR)
/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 obj
📸 Failure Screenshot:
⏱️ Duration: 29.32s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7fef23ba56c0>
login_page = <pages.login_page.LoginPage object at 0x7fef136c7130>
create_page = <pages.create_page.CreatePage object at 0x7fef136c5600>
base_url = 'https://promo.com'
@pytest.mark.skip_smoke
def test_w23_fully_preview_video_on_create_page(
self, login_page, create_page, base_url
):
"""
W23 Fully preview a video on Create page
Searches for a Christmas template, opens the preview, verifies ratio
controls, share popup, customize button, and next/previous navigation.
"""
login_page.login_directly(base_url, general_mail(), get_password())
create_page.navigate_to_create(base_url)
create_page.search_for("christmas")
> create_page.fully_preview_template()
tests/test_web_render.py:237:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/create_page.py:385: in fully_preview_template
self.page.locator(self.TEMPLATES_ARE_VISIBLE).wait_for(state="visible", timeout=self.T_LOAD)
/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 0x7fef23ba4340>
cb = <function Channel.send.<locals>.<lambda> at 0x7fef230993f0>
is_internal = False, title = None
async def wrap_api_call(
self, cb: Callable[[], Any], is_internal: bool = False, title: str = None
) -> Any:
if self._api_zone.get():
📸 Failure Screenshot:
⏱️ Duration: 112.97s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7fef23ba5360>
login_page = <pages.login_page.LoginPage object at 0x7fef20302aa0>
create_page = <pages.create_page.CreatePage object at 0x7fef20300c40>
editor_page = <pages.editor_page.EditorPage object at 0x7fef20300970>
publish_page = <pages.publish_page.PublishPage object at 0x7fef20301a80>
dashboard_page = <pages.dashboard_page.DashboardPage object at 0x7fef20302410>
base_url = 'https://promo.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())
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()
tests/test_web_render.py:256:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/editor_page.py:272: in verify_editor_loaded
self.page.locator(self.RATIO_TOOLBAR).wait_for(state="visible", timeout=self.T_EDITOR)
/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
📸 Failure Screenshot:
⏱️ Duration: 110.55s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7fef23ba59c0>
login_page = <pages.login_page.LoginPage object at 0x7fef21e78100>
create_page = <pages.create_page.CreatePage object at 0x7fef21e7bf40>
editor_page = <pages.editor_page.EditorPage object at 0x7fef21e788b0>
publish_page = <pages.publish_page.PublishPage object at 0x7fef21e78ac0>
publisher_page = <pages.publisher_page.PublisherPage object at 0x7fef21e78190>
planner_page = <pages.planner_page.PlannerPage object at 0x7fef21e79090>
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()
tests/test_web_render.py:286:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/editor_page.py:272: in verify_editor_loaded
self.page.locator(self.RATIO_TOOLBAR).wait_for(state="visible", timeout=self.T_EDITOR)
/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
re
📸 Failure Screenshot:
⏱️ Duration: 110.09s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7fef23ba5090>
login_page = <pages.login_page.LoginPage object at 0x7fef13c4e530>
create_page = <pages.create_page.CreatePage object at 0x7fef13c4d630>
editor_page = <pages.editor_page.EditorPage object at 0x7fef13c4d8d0>
publish_page = <pages.publish_page.PublishPage object at 0x7fef13c4d690>
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())
create_page.navigate_to_create(base_url)
create_page.search_for_photo()
create_page.add_first_photo_to_project()
> editor_page.verify_editor_loaded()
tests/test_web_render.py:319:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/editor_page.py:272: in verify_editor_loaded
self.page.locator(self.RATIO_TOOLBAR).wait_for(state="visible", timeout=self.T_EDITOR)
/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 0x7fef23ba4340>
cb = <function Channel.send.<locals>.<lambda> at 0x7fef21e57e20>
is_internal = F
📸 Failure Screenshot:
⏱️ Duration: 111.70s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7fef23ba4d30>
login_page = <pages.login_page.LoginPage object at 0x7fef21e7ba00>
create_page = <pages.create_page.CreatePage object at 0x7fef21e7afb0>
editor_page = <pages.editor_page.EditorPage object at 0x7fef21e79d50>
publish_page = <pages.publish_page.PublishPage object at 0x7fef21e7ab60>
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())
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()
tests/test_web_render.py:341:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/editor_page.py:272: in verify_editor_loaded
self.page.locator(self.RATIO_TOOLBAR).wait_for(state="visible", timeout=self.T_EDITOR)
/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(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
📸 Failure Screenshot:
⏱️ Duration: 112.61s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7fef23ba4bb0>
login_page = <pages.login_page.LoginPage object at 0x7fef13f00130>
create_page = <pages.create_page.CreatePage object at 0x7fef13f01f30>
editor_page = <pages.editor_page.EditorPage object at 0x7fef13f02860>
publish_page = <pages.publish_page.PublishPage object at 0x7fef13f03d30>
base_url = 'https://promo.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())
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()
tests/test_web_render.py:341:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/editor_page.py:272: in verify_editor_loaded
self.page.locator(self.RATIO_TOOLBAR).wait_for(state="visible", timeout=self.T_EDITOR)
/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(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
📸 Failure Screenshot:
⏱️ Duration: 113.45s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7fef23ba4a00>
login_page = <pages.login_page.LoginPage object at 0x7fef20302650>
create_page = <pages.create_page.CreatePage object at 0x7fef203015d0>
editor_page = <pages.editor_page.EditorPage object at 0x7fef20301030>
publish_page = <pages.publish_page.PublishPage object at 0x7fef20302b90>
base_url = 'https://promo.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())
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()
tests/test_web_render.py:341:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/editor_page.py:272: in verify_editor_loaded
self.page.locator(self.RATIO_TOOLBAR).wait_for(state="visible", timeout=self.T_EDITOR)
/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(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
📸 Failure Screenshot: