Test Results (19 tests)
⏱️ Duration: 45.74s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7fe115023760>
login_page = <pages.login_page.LoginPage object at 0x7fe114ed7850>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7fe114ed41c0>
base_url = 'https://promo.com', prompt_key = 'caption'
@pytest.mark.skip_smoke
@pytest.mark.parametrize("prompt_key", [
"caption",
"linebreak",
"music",
"outro_values",
"remove_scene",
"text_color",
"text_font",
"logo",
"text_position",
"translation",
"add_scene",
"change_watermark",
])
def test_cbe01_cbe_service_chains_sanity(
self, login_page, autopilot_page, base_url, prompt_key
):
"""
CBE01 CBE service chains sanity
Login as AI user → open Planner → ensure AI posts exist → open 1st post
→ open CBE → send prompt → verify AI response → verify save enabled
→ verify discard popup → save video.
"""
login_page.login_directly(base_url, email_ai, get_password())
autopilot_page.go_to_planner(base_url)
autopilot_page.ensure_ai_posts_exist()
autopilot_page.open_ai_post(1)
> autopilot_page.open_cbe()
tests/test_chat_based_editor.py:79:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/autopilot_page.py:1437: in open_cbe
btn.wait_for(state="visible", timeout=self.T_ACTION)
/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: 42.86s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7fe115023730>
login_page = <pages.login_page.LoginPage object at 0x7fe10f1fc580>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7fe10f1fd120>
base_url = 'https://promo.com', prompt_key = 'linebreak'
@pytest.mark.skip_smoke
@pytest.mark.parametrize("prompt_key", [
"caption",
"linebreak",
"music",
"outro_values",
"remove_scene",
"text_color",
"text_font",
"logo",
"text_position",
"translation",
"add_scene",
"change_watermark",
])
def test_cbe01_cbe_service_chains_sanity(
self, login_page, autopilot_page, base_url, prompt_key
):
"""
CBE01 CBE service chains sanity
Login as AI user → open Planner → ensure AI posts exist → open 1st post
→ open CBE → send prompt → verify AI response → verify save enabled
→ verify discard popup → save video.
"""
> login_page.login_directly(base_url, email_ai, get_password())
tests/test_chat_based_editor.py:73:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
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
📸 Failure Screenshot:
⏱️ Duration: 32.48s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7fe115022f50>
login_page = <pages.login_page.LoginPage object at 0x7fe10f1ffd60>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7fe10f1ffb50>
base_url = 'https://promo.com', prompt_key = 'remove_scene'
@pytest.mark.skip_smoke
@pytest.mark.parametrize("prompt_key", [
"caption",
"linebreak",
"music",
"outro_values",
"remove_scene",
"text_color",
"text_font",
"logo",
"text_position",
"translation",
"add_scene",
"change_watermark",
])
def test_cbe01_cbe_service_chains_sanity(
self, login_page, autopilot_page, base_url, prompt_key
):
"""
CBE01 CBE service chains sanity
Login as AI user → open Planner → ensure AI posts exist → open 1st post
→ open CBE → send prompt → verify AI response → verify save enabled
→ verify discard popup → save video.
"""
> login_page.login_directly(base_url, email_ai, get_password())
tests/test_chat_based_editor.py:73:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
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 obj
📸 Failure Screenshot:
⏱️ Duration: 44.22s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7fe115022e90>
login_page = <pages.login_page.LoginPage object at 0x7fe115020430>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7fe114ed4340>
base_url = 'https://promo.com', prompt_key = 'text_color'
@pytest.mark.skip_smoke
@pytest.mark.parametrize("prompt_key", [
"caption",
"linebreak",
"music",
"outro_values",
"remove_scene",
"text_color",
"text_font",
"logo",
"text_position",
"translation",
"add_scene",
"change_watermark",
])
def test_cbe01_cbe_service_chains_sanity(
self, login_page, autopilot_page, base_url, prompt_key
):
"""
CBE01 CBE service chains sanity
Login as AI user → open Planner → ensure AI posts exist → open 1st post
→ open CBE → send prompt → verify AI response → verify save enabled
→ verify discard popup → save video.
"""
> login_page.login_directly(base_url, email_ai, get_password())
tests/test_chat_based_editor.py:73:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
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 objec
📸 Failure Screenshot:
⏱️ Duration: 42.50s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7fe115022dd0>
login_page = <pages.login_page.LoginPage object at 0x7fe10ff87280>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7fe10ff87130>
base_url = 'https://promo.com', prompt_key = 'text_font'
@pytest.mark.skip_smoke
@pytest.mark.parametrize("prompt_key", [
"caption",
"linebreak",
"music",
"outro_values",
"remove_scene",
"text_color",
"text_font",
"logo",
"text_position",
"translation",
"add_scene",
"change_watermark",
])
def test_cbe01_cbe_service_chains_sanity(
self, login_page, autopilot_page, base_url, prompt_key
):
"""
CBE01 CBE service chains sanity
Login as AI user → open Planner → ensure AI posts exist → open 1st post
→ open CBE → send prompt → verify AI response → verify save enabled
→ verify discard popup → save video.
"""
> login_page.login_directly(base_url, email_ai, get_password())
tests/test_chat_based_editor.py:73:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
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
📸 Failure Screenshot:
⏱️ Duration: 24.97s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7fe115022c20>
login_page = <pages.login_page.LoginPage object at 0x7fe10ff09360>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7fe10f2a66e0>
base_url = 'https://promo.com', prompt_key = 'text_position'
@pytest.mark.skip_smoke
@pytest.mark.parametrize("prompt_key", [
"caption",
"linebreak",
"music",
"outro_values",
"remove_scene",
"text_color",
"text_font",
"logo",
"text_position",
"translation",
"add_scene",
"change_watermark",
])
def test_cbe01_cbe_service_chains_sanity(
self, login_page, autopilot_page, base_url, prompt_key
):
"""
CBE01 CBE service chains sanity
Login as AI user → open Planner → ensure AI posts exist → open 1st post
→ open CBE → send prompt → verify AI response → verify save enabled
→ verify discard popup → save video.
"""
login_page.login_directly(base_url, email_ai, get_password())
autopilot_page.go_to_planner(base_url)
autopilot_page.ensure_ai_posts_exist()
autopilot_page.open_ai_post(1)
> autopilot_page.open_cbe()
tests/test_chat_based_editor.py:79:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/autopilot_page.py:1437: in open_cbe
btn.wait_for(state="visible", timeout=self.T_ACTION)
/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: 45.11s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7fe1150229e0>
login_page = <pages.login_page.LoginPage object at 0x7fe10f2a3820>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7fe10f2a2cb0>
base_url = 'https://promo.com', prompt_key = 'translation'
@pytest.mark.skip_smoke
@pytest.mark.parametrize("prompt_key", [
"caption",
"linebreak",
"music",
"outro_values",
"remove_scene",
"text_color",
"text_font",
"logo",
"text_position",
"translation",
"add_scene",
"change_watermark",
])
def test_cbe01_cbe_service_chains_sanity(
self, login_page, autopilot_page, base_url, prompt_key
):
"""
CBE01 CBE service chains sanity
Login as AI user → open Planner → ensure AI posts exist → open 1st post
→ open CBE → send prompt → verify AI response → verify save enabled
→ verify discard popup → save video.
"""
login_page.login_directly(base_url, email_ai, get_password())
autopilot_page.go_to_planner(base_url)
autopilot_page.ensure_ai_posts_exist()
autopilot_page.open_ai_post(1)
> autopilot_page.open_cbe()
tests/test_chat_based_editor.py:79:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/autopilot_page.py:1437: in open_cbe
btn.wait_for(state="visible", timeout=self.T_ACTION)
/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: 32.89s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7fe115022b00>
login_page = <pages.login_page.LoginPage object at 0x7fe10d539cc0>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7fe10d538e50>
base_url = 'https://promo.com', prompt_key = 'add_scene'
@pytest.mark.skip_smoke
@pytest.mark.parametrize("prompt_key", [
"caption",
"linebreak",
"music",
"outro_values",
"remove_scene",
"text_color",
"text_font",
"logo",
"text_position",
"translation",
"add_scene",
"change_watermark",
])
def test_cbe01_cbe_service_chains_sanity(
self, login_page, autopilot_page, base_url, prompt_key
):
"""
CBE01 CBE service chains sanity
Login as AI user → open Planner → ensure AI posts exist → open 1st post
→ open CBE → send prompt → verify AI response → verify save enabled
→ verify discard popup → save video.
"""
> login_page.login_directly(base_url, email_ai, get_password())
tests/test_chat_based_editor.py:73:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
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
📸 Failure Screenshot:
⏱️ Duration: 42.59s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7fe115021a20>
login_page = <pages.login_page.LoginPage object at 0x7fe10f2b8940>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7fe10ff879a0>
base_url = 'https://promo.com', ratio = 'wide'
@pytest.mark.parametrize("ratio", ["wide", "vertical"])
def test_cbe02_cbe_should_work_in_all_ratios(
self, login_page, autopilot_page, base_url, ratio
):
"""
CBE02 CBE should work in all ratios
Login as AI user → open Planner → open 2nd post → change ratio
→ open CBE → send caption prompt → verify discard popup → save video.
"""
> login_page.login_directly(base_url, email_ai, get_password())
tests/test_chat_based_editor.py:98:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
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 0x7fe115022aa0>
cb = <function Channel.send.<locals>.<lambda> at 0x7fe1143f48b0>
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():
return await cb()
task = asyncio.current_t
📸 Failure Screenshot:
⏱️ Duration: 45.04s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7fe1150218a0>
login_page = <pages.login_page.LoginPage object at 0x7fe10f2a20b0>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7fe10f2a1bd0>
base_url = 'https://promo.com', ratio = 'vertical'
@pytest.mark.parametrize("ratio", ["wide", "vertical"])
def test_cbe02_cbe_should_work_in_all_ratios(
self, login_page, autopilot_page, base_url, ratio
):
"""
CBE02 CBE should work in all ratios
Login as AI user → open Planner → open 2nd post → change ratio
→ open CBE → send caption prompt → verify discard popup → save video.
"""
login_page.login_directly(base_url, email_ai, get_password())
autopilot_page.go_to_planner(base_url)
autopilot_page.ensure_ai_posts_exist(min_count=2)
autopilot_page.open_ai_post(2)
> autopilot_page.change_video_ratio(ratio)
tests/test_chat_based_editor.py:103:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/autopilot_page.py:1613: in change_video_ratio
self.page.locator(ratio_map[ratio]).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 self._connection.wrap_api_call(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <playwright._impl._connection.Connection object at 0x7fe115022aa0>
cb = <function Channel.send.<locals>.<lambda> at 0x7fe10d5bd1b0>
is_internal = False, title = None
async def wrap_api_
📸 Failure Screenshot:
⏱️ Duration: 45.46s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7fe115021540>
login_page = <pages.login_page.LoginPage object at 0x7fe10d70b6d0>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7fe10d709480>
base_url = 'https://promo.com', prompt_key = 'stock_video'
@pytest.mark.skip_smoke
@pytest.mark.parametrize("prompt_key", [
"stock_video",
"stock_photo",
"uploaded_video",
"uploaded_photo",
])
def test_cbe03_replace_a_clip(
self, login_page, autopilot_page, base_url, prompt_key
):
"""
CBE03 Replace a clip
Login as AI user → open Planner → open 3rd post → open CBE
→ send clip-replacement prompt → verify media library → select first clip
→ verify discard popup → save video.
"""
login_page.login_directly(base_url, email_ai, get_password())
autopilot_page.go_to_planner(base_url)
autopilot_page.ensure_ai_posts_exist(min_count=3)
autopilot_page.open_ai_post(3)
> autopilot_page.open_cbe()
tests/test_chat_based_editor.py:132:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/autopilot_page.py:1437: in open_cbe
btn.wait_for(state="visible", timeout=self.T_ACTION)
/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 0x7fe115022aa0>
cb = <function Channel.send.<locals>.<lambda> at 0x7fe10
📸 Failure Screenshot:
⏱️ Duration: 32.45s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7fe1150213c0>
login_page = <pages.login_page.LoginPage object at 0x7fe10d5e5c60>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7fe10d5e6b60>
base_url = 'https://promo.com', prompt_key = 'stock_photo'
@pytest.mark.skip_smoke
@pytest.mark.parametrize("prompt_key", [
"stock_video",
"stock_photo",
"uploaded_video",
"uploaded_photo",
])
def test_cbe03_replace_a_clip(
self, login_page, autopilot_page, base_url, prompt_key
):
"""
CBE03 Replace a clip
Login as AI user → open Planner → open 3rd post → open CBE
→ send clip-replacement prompt → verify media library → select first clip
→ verify discard popup → save video.
"""
> login_page.login_directly(base_url, email_ai, get_password())
tests/test_chat_based_editor.py:126:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
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 0x7fe115022aa0>
cb = <function Channel.send.<locals>.<lambda> at 0x7fe11444f400>
is_internal = False, title = None
async def wrap_api_call(
self, cb: Callable[[], Any], is_
📸 Failure Screenshot:
⏱️ Duration: 45.35s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7fe1150211b0>
login_page = <pages.login_page.LoginPage object at 0x7fe114fba5f0>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7fe114fbbd60>
base_url = 'https://promo.com', prompt_key = 'uploaded_video'
@pytest.mark.skip_smoke
@pytest.mark.parametrize("prompt_key", [
"stock_video",
"stock_photo",
"uploaded_video",
"uploaded_photo",
])
def test_cbe03_replace_a_clip(
self, login_page, autopilot_page, base_url, prompt_key
):
"""
CBE03 Replace a clip
Login as AI user → open Planner → open 3rd post → open CBE
→ send clip-replacement prompt → verify media library → select first clip
→ verify discard popup → save video.
"""
login_page.login_directly(base_url, email_ai, get_password())
autopilot_page.go_to_planner(base_url)
autopilot_page.ensure_ai_posts_exist(min_count=3)
autopilot_page.open_ai_post(3)
> autopilot_page.open_cbe()
tests/test_chat_based_editor.py:132:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/autopilot_page.py:1437: in open_cbe
btn.wait_for(state="visible", timeout=self.T_ACTION)
/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 0x7fe115022aa0>
cb = <function Channel.send.<locals>.<lambda> at 0x7f
📸 Failure Screenshot:
⏱️ Duration: 32.83s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7fe1150210f0>
login_page = <pages.login_page.LoginPage object at 0x7fe10d539030>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7fe10d53b640>
base_url = 'https://promo.com', prompt_key = 'uploaded_photo'
@pytest.mark.skip_smoke
@pytest.mark.parametrize("prompt_key", [
"stock_video",
"stock_photo",
"uploaded_video",
"uploaded_photo",
])
def test_cbe03_replace_a_clip(
self, login_page, autopilot_page, base_url, prompt_key
):
"""
CBE03 Replace a clip
Login as AI user → open Planner → open 3rd post → open CBE
→ send clip-replacement prompt → verify media library → select first clip
→ verify discard popup → save video.
"""
> login_page.login_directly(base_url, email_ai, get_password())
tests/test_chat_based_editor.py:126:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
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 0x7fe115022aa0>
cb = <function Channel.send.<locals>.<lambda> at 0x7fe10d8725f0>
is_internal = False, title = None
async def wrap_api_call(
self, cb: Callable[[], Any],
📸 Failure Screenshot:
⏱️ Duration: 32.55s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7fe115020e20>
login_page = <pages.login_page.LoginPage object at 0x7fe10f1fec80>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7fe10f1fd3c0>
base_url = 'https://promo.com', asset = 'video'
@pytest.mark.parametrize("asset", ["video", "photo"])
def test_cbe04_upload_via_filestack_url(
self, login_page, autopilot_page, base_url, asset
):
"""
CBE04 Upload via Filestack URL
Login as AI user → open Planner → open 4th post → open CBE
→ send uploaded_video prompt → import asset via Filestack URL
→ verify progress bar + upload complete + tab redirect.
"""
url = filestack_upload_video_url if asset == "video" else filestack_upload_photo_url
> login_page.login_directly(base_url, email_ai, get_password())
tests/test_chat_based_editor.py:150:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
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 0x7fe115022aa0>
cb = <function Channel.send.<locals>.<lambda> at 0x7fe10d871120>
is_internal = False, title = None
async def wrap_api_call(
self, cb: Callable[[], Any], is_internal: b
📸 Failure Screenshot:
⏱️ Duration: 35.66s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7fe115020ca0>
login_page = <pages.login_page.LoginPage object at 0x7fe10d724700>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7fe10d7250f0>
base_url = 'https://promo.com', asset = 'photo'
@pytest.mark.parametrize("asset", ["video", "photo"])
def test_cbe04_upload_via_filestack_url(
self, login_page, autopilot_page, base_url, asset
):
"""
CBE04 Upload via Filestack URL
Login as AI user → open Planner → open 4th post → open CBE
→ send uploaded_video prompt → import asset via Filestack URL
→ verify progress bar + upload complete + tab redirect.
"""
url = filestack_upload_video_url if asset == "video" else filestack_upload_photo_url
> login_page.login_directly(base_url, email_ai, get_password())
tests/test_chat_based_editor.py:150:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
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 0x7fe115022aa0>
cb = <function Channel.send.<locals>.<lambda> at 0x7fe10ff51240>
is_internal = False, title = None
async def wrap_api_call(
self, cb: Callable[[], Any], is_internal: b
📸 Failure Screenshot:
⏱️ Duration: 35.29s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7fe115020940>
login_page = <pages.login_page.LoginPage object at 0x7fe10f223e50>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7fe10f223f10>
base_url = 'https://promo.com'
def test_cbe05_voice_changes_not_possible_for_non_narrated_videos(
self, login_page, autopilot_page, base_url
):
"""
CBE05 Voice changes not possible for non-narrated videos
Login as AI user → go to planner → open 1st AI post → open CBE
→ send 'change_voice' prompt → verify save button is disabled
→ verify voice apply button is not shown in CBE panel.
"""
login_page.login_directly(base_url, email_ai, get_password())
autopilot_page.go_to_planner(base_url)
autopilot_page.ensure_ai_posts_exist()
autopilot_page.open_ai_post(1)
> autopilot_page.open_cbe()
tests/test_chat_based_editor.py:175:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/autopilot_page.py:1437: in open_cbe
btn.wait_for(state="visible", timeout=self.T_ACTION)
/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 0x7fe115022aa0>
cb = <function Channel.send.<locals>.<lambda> at 0x7fe10d5bf7f0>
is_internal = False, title = None
async def wrap_api_call(
self, cb: Callable[[], Any], is_internal: bool = False, title: str
📸 Failure Screenshot:
⏱️ Duration: 35.07s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7fe115021750>
login_page = <pages.login_page.LoginPage object at 0x7fe10d5d0220>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7fe10d5d0400>
base_url = 'https://promo.com'
@pytest.mark.skip_smoke
def test_cbe06_upload_via_filestack_facebook_page(
self, login_page, autopilot_page, base_url
):
"""
CBE06 Upload via Filestack Facebook Page @skip_smoke
Login as AI user → go to planner → open 1st AI post → open CBE
→ send 'uploaded_video' prompt → open Filestack FB Pages source
→ authenticate with FB test account → select first page/album/asset
→ upload and verify progress bar.
"""
login_page.login_directly(base_url, email_ai, get_password())
autopilot_page.go_to_planner(base_url)
autopilot_page.ensure_ai_posts_exist(min_count=1)
autopilot_page.open_ai_post(1)
> autopilot_page.open_cbe()
tests/test_chat_based_editor.py:197:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
pages/autopilot_page.py:1437: in open_cbe
btn.wait_for(state="visible", timeout=self.T_ACTION)
/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 0x7fe115022aa0>
cb = <function Channel.send.<locals>.<lambda> at 0x7fe11444e710>
is_internal = False, title = None
async def wrap_api_cal
📸 Failure Screenshot: