Test Results (12 tests)
⏱️ Duration: 109.76s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7ff244b8f550>
login_page = <pages.login_page.LoginPage object at 0x7ff244f1b9d0>
create_page = <pages.create_page.CreatePage object at 0x7ff244b8c700>
editor_page = <pages.editor_page.EditorPage object at 0x7ff244b8f040>
publish_page = <pages.publish_page.PublishPage object at 0x7ff244ce88b0>
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: 111.90s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7ff244b8fa30>
login_page = <pages.login_page.LoginPage object at 0x7ff23f02fca0>
create_page = <pages.create_page.CreatePage object at 0x7ff23f02ffa0>
editor_page = <pages.editor_page.EditorPage object at 0x7ff23f02fa90>
publish_page = <pages.publish_page.PublishPage object at 0x7ff23f02f790>
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: 126.62s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7ff244b8fd90>
login_page = <pages.login_page.LoginPage object at 0x7ff244c6afb0>
create_page = <pages.create_page.CreatePage object at 0x7ff244c6b550>
editor_page = <pages.editor_page.EditorPage object at 0x7ff244c6a200>
publish_page = <pages.publish_page.PublishPage object at 0x7ff244c6b6a0>
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 0x7ff244b8c340>
cb = <function Channel.send.<locals>.<lambda> at 0x7ff23d41b130>
is_internal
📸 Failure Screenshot:
⏱️ Duration: 112.99s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7ff244b8da20>
login_page = <pages.login_page.LoginPage object at 0x7ff244c4b040>
create_page = <pages.create_page.CreatePage object at 0x7ff244c6ac80>
editor_page = <pages.editor_page.EditorPage object at 0x7ff244c6ace0>
publish_page = <pages.publish_page.PublishPage object at 0x7ff244c68f10>
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.94s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7ff244b8d6c0>
login_page = <pages.login_page.LoginPage object at 0x7ff23cfd6dd0>
create_page = <pages.create_page.CreatePage object at 0x7ff23cfd7e80>
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 0x7ff244b8c340>
cb = <function Channel.send.<locals>.<lambda> at 0x7ff23d0d7490>
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.49s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7ff244b8d3f0>
login_page = <pages.login_page.LoginPage object at 0x7ff23fd4b460>
create_page = <pages.create_page.CreatePage object at 0x7ff23fd4a680>
editor_page = <pages.editor_page.EditorPage object at 0x7ff23fd4b550>
publish_page = <pages.publish_page.PublishPage object at 0x7ff23fd4bf10>
dashboard_page = <pages.dashboard_page.DashboardPage object at 0x7ff23fd4a770>
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: 109.38s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7ff244b8d570>
login_page = <pages.login_page.LoginPage object at 0x7ff244c69240>
create_page = <pages.create_page.CreatePage object at 0x7ff23d44be50>
editor_page = <pages.editor_page.EditorPage object at 0x7ff23d44b220>
publish_page = <pages.publish_page.PublishPage object at 0x7ff23d44b4c0>
publisher_page = <pages.publisher_page.PublisherPage object at 0x7ff23d4499f0>
planner_page = <pages.planner_page.PlannerPage object at 0x7ff23d4497e0>
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: 112.23s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7ff244b8f340>
login_page = <pages.login_page.LoginPage object at 0x7ff23d2bbac0>
create_page = <pages.create_page.CreatePage object at 0x7ff23d2b91e0>
editor_page = <pages.editor_page.EditorPage object at 0x7ff23d2baa70>
publish_page = <pages.publish_page.PublishPage object at 0x7ff23d2b8100>
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 0x7ff244b8c340>
cb = <function Channel.send.<locals>.<lambda> at 0x7ff23d418430>
is_internal = F
📸 Failure Screenshot:
⏱️ Duration: 112.29s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7ff244b8cd30>
login_page = <pages.login_page.LoginPage object at 0x7ff244c49330>
create_page = <pages.create_page.CreatePage object at 0x7ff244c4a5c0>
editor_page = <pages.editor_page.EditorPage object at 0x7ff244c4ba00>
publish_page = <pages.publish_page.PublishPage object at 0x7ff244c4bac0>
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: 111.38s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7ff244b8cbb0>
login_page = <pages.login_page.LoginPage object at 0x7ff23d0584f0>
create_page = <pages.create_page.CreatePage object at 0x7ff23d05a8c0>
editor_page = <pages.editor_page.EditorPage object at 0x7ff23d059c60>
publish_page = <pages.publish_page.PublishPage object at 0x7ff23d05ac50>
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: 109.02s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7ff244b8ca00>
login_page = <pages.login_page.LoginPage object at 0x7ff23cd8d0c0>
create_page = <pages.create_page.CreatePage object at 0x7ff23cd8df00>
editor_page = <pages.editor_page.EditorPage object at 0x7ff23cd8e6b0>
publish_page = <pages.publish_page.PublishPage object at 0x7ff23cd8f610>
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: