Test Results (11 tests)
⏱️ Duration: 109.85s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7faef96550c0>
login_page = <pages.login_page.LoginPage object at 0x7faef951e260>
create_page = <pages.create_page.CreatePage object at 0x7faef951fbe0>
editor_page = <pages.editor_page.EditorPage object at 0x7faef951d990>
publish_page = <pages.publish_page.PublishPage object at 0x7faef951f5e0>
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.18s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7faef96555a0>
login_page = <pages.login_page.LoginPage object at 0x7faef81f7c70>
create_page = <pages.create_page.CreatePage object at 0x7faef81f7b20>
editor_page = <pages.editor_page.EditorPage object at 0x7faef81f7fa0>
publish_page = <pages.publish_page.PublishPage object at 0x7faef81f6e00>
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: 123.86s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7faef96557e0>
login_page = <pages.login_page.LoginPage object at 0x7faef9603e50>
create_page = <pages.create_page.CreatePage object at 0x7faef9603fa0>
editor_page = <pages.editor_page.EditorPage object at 0x7faef9600ac0>
publish_page = <pages.publish_page.PublishPage object at 0x7faef9601c30>
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 0x7faef9657010>
cb = <function Channel.send.<locals>.<lambda> at 0x7faef8a2bd90>
is_internal
📸 Failure Screenshot:
⏱️ Duration: 109.56s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7faef9657ca0>
login_page = <pages.login_page.LoginPage object at 0x7faef1c69600>
create_page = <pages.create_page.CreatePage object at 0x7faef1c68400>
editor_page = <pages.editor_page.EditorPage object at 0x7faef1c68a90>
publish_page = <pages.publish_page.PublishPage object at 0x7faef1c697e0>
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: 27.89s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7faef9657940>
login_page = <pages.login_page.LoginPage object at 0x7faef1b2c6a0>
create_page = <pages.create_page.CreatePage object at 0x7faef1b2f700>
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 0x7faef9657010>
cb = <function Channel.send.<locals>.<lambda> at 0x7faef8a86dd0>
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.55s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7faef9657520>
login_page = <pages.login_page.LoginPage object at 0x7faef1af4af0>
create_page = <pages.create_page.CreatePage object at 0x7faef1af50f0>
editor_page = <pages.editor_page.EditorPage object at 0x7faef1af4f40>
publish_page = <pages.publish_page.PublishPage object at 0x7faef1af4fa0>
dashboard_page = <pages.dashboard_page.DashboardPage object at 0x7faef1af40a0>
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: 108.97s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7faef96571c0>
login_page = <pages.login_page.LoginPage object at 0x7faef1d0e950>
create_page = <pages.create_page.CreatePage object at 0x7faef1d0f580>
editor_page = <pages.editor_page.EditorPage object at 0x7faef1d0f430>
publish_page = <pages.publish_page.PublishPage object at 0x7faef1d0e9b0>
publisher_page = <pages.publisher_page.PublisherPage object at 0x7faef1d0d690>
planner_page = <pages.planner_page.PlannerPage object at 0x7faef1d0e7a0>
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: 109.44s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7faef9656bf0>
login_page = <pages.login_page.LoginPage object at 0x7faef18b73a0>
create_page = <pages.create_page.CreatePage object at 0x7faef18b4fa0>
editor_page = <pages.editor_page.EditorPage object at 0x7faef18b4fd0>
publish_page = <pages.publish_page.PublishPage object at 0x7faef18b4a60>
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 0x7faef9657010>
cb = <function Channel.send.<locals>.<lambda> at 0x7faef8ba9630>
is_internal = F
📸 Failure Screenshot:
⏱️ Duration: 113.99s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7faef96541f0>
login_page = <pages.login_page.LoginPage object at 0x7faef17b3220>
create_page = <pages.create_page.CreatePage object at 0x7faef17b22c0>
editor_page = <pages.editor_page.EditorPage object at 0x7faef17b2530>
publish_page = <pages.publish_page.PublishPage object at 0x7faef17b2080>
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: 110.39s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7faef96560b0>
login_page = <pages.login_page.LoginPage object at 0x7faef2ea3fa0>
create_page = <pages.create_page.CreatePage object at 0x7faef2ea33d0>
editor_page = <pages.editor_page.EditorPage object at 0x7faef2ea3a00>
publish_page = <pages.publish_page.PublishPage object at 0x7faef16c3a00>
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: 111.29s
❌ Error:
self = <tests.test_web_render.TestWebRender object at 0x7faef9655a50>
login_page = <pages.login_page.LoginPage object at 0x7faef18786a0>
create_page = <pages.create_page.CreatePage object at 0x7faef1879720>
editor_page = <pages.editor_page.EditorPage object at 0x7faef1878580>
publish_page = <pages.publish_page.PublishPage object at 0x7faef187ad10>
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: