Test Results (22 tests)
⏱️ Duration: 33.14s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7f3a70cef820>
login_page = <pages.login_page.LoginPage object at 0x7f3a70ba3550>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7f3a70ba03a0>
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())
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 a
📸 Failure Screenshot:
⏱️ Duration: 33.09s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7f3a70cef730>
login_page = <pages.login_page.LoginPage object at 0x7f3a6a76ae00>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7f3a6a768040>
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: 33.05s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7f3a70cef0d0>
login_page = <pages.login_page.LoginPage object at 0x7f3a6a624be0>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7f3a6a6242e0>
base_url = 'https://promo.com', prompt_key = 'music'
@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 at
📸 Failure Screenshot:
⏱️ Duration: 42.86s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7f3a70cef010>
login_page = <pages.login_page.LoginPage object at 0x7f3a6a768ca0>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7f3a6a768a90>
base_url = 'https://promo.com', prompt_key = 'outro_values'
@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: 42.69s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7f3a70ceef50>
login_page = <pages.login_page.LoginPage object at 0x7f3a6b83ffd0>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7f3a6b7e51b0>
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: 42.53s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7f3a70ceee90>
login_page = <pages.login_page.LoginPage object at 0x7f3a6b791120>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7f3a6b7923e0>
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: 32.59s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7f3a70ceedd0>
login_page = <pages.login_page.LoginPage object at 0x7f3a70ba01c0>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7f3a70ba1f90>
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: 42.71s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7f3a70ceed10>
login_page = <pages.login_page.LoginPage object at 0x7f3a69455000>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7f3a69455de0>
base_url = 'https://promo.com', prompt_key = 'logo'
@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 at 0
📸 Failure Screenshot:
⏱️ Duration: 43.51s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7f3a70ceec50>
login_page = <pages.login_page.LoginPage object at 0x7f3a689ea980>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7f3a689eb4f0>
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())
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 ob
📸 Failure Screenshot:
⏱️ Duration: 25.90s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7f3a70cee9e0>
login_page = <pages.login_page.LoginPage object at 0x7f3a6a62be80>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7f3a6a62b2e0>
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.80s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7f3a70ceeb00>
login_page = <pages.login_page.LoginPage object at 0x7f3a6a6255d0>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7f3a6a624160>
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: 32.91s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7f3a70cee680>
login_page = <pages.login_page.LoginPage object at 0x7f3a6a636e60>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7f3a6a637f10>
base_url = 'https://promo.com', prompt_key = 'change_watermark'
@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
📸 Failure Screenshot:
⏱️ Duration: 45.38s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7f3a70ced8a0>
login_page = <pages.login_page.LoginPage object at 0x7f3a68997a90>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7f3a68995c60>
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 0x7f3a70ceeb60>
cb = <function Channel.send.<locals>.<lambda> at 0x7f3a68a18d30>
is_internal = False, title = None
async def wrap_api_
📸 Failure Screenshot:
⏱️ Duration: 42.45s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7f3a70ced540>
login_page = <pages.login_page.LoginPage object at 0x7f3a6b7924d0>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7f3a6941b190>
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())
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 0x7f3a70ceeb60>
cb = <function Channel.send.<locals>.<lambda> at 0x7f3a689aa5f0>
is_internal = False, title = None
async def wrap_api_call(
self, cb: Callable[[], Any], is_
📸 Failure Screenshot:
⏱️ Duration: 42.58s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7f3a70ced3c0>
login_page = <pages.login_page.LoginPage object at 0x7f3a69456200>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7f3a69457af0>
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 0x7f3a70ceeb60>
cb = <function Channel.send.<locals>.<lambda> at 0x7f3a70239510>
is_internal = False, title = None
async def wrap_api_call(
self, cb: Callable[[], Any], is_
📸 Failure Screenshot:
⏱️ Duration: 32.67s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7f3a70ced1b0>
login_page = <pages.login_page.LoginPage object at 0x7f3a692edfc0>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7f3a692ec4f0>
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())
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 0x7f3a70ceeb60>
cb = <function Channel.send.<locals>.<lambda> at 0x7f3a700b4a60>
is_internal = False, title = None
async def wrap_api_call(
self, cb: Callable[[], Any],
📸 Failure Screenshot:
⏱️ Duration: 42.58s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7f3a70ced0f0>
login_page = <pages.login_page.LoginPage object at 0x7f3a692eeb60>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7f3a6a7695a0>
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 0x7f3a70ceeb60>
cb = <function Channel.send.<locals>.<lambda> at 0x7f3a6a5d5900>
is_internal = False, title = None
async def wrap_api_call(
self, cb: Callable[[], Any],
📸 Failure Screenshot:
⏱️ Duration: 44.96s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7f3a70cece20>
login_page = <pages.login_page.LoginPage object at 0x7f3a689f6a70>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7f3a689f6bc0>
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())
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:156:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
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 0x7f3a70ceeb60>
cb = <function Channel.send.<locals>.<lambda> at 0x7f3a6b2d7880>
is
📸 Failure Screenshot:
⏱️ Duration: 32.61s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7f3a70cecca0>
login_page = <pages.login_page.LoginPage object at 0x7f3a6a671810>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7f3a6a670f70>
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 0x7f3a70ceeb60>
cb = <function Channel.send.<locals>.<lambda> at 0x7f3a689a85e0>
is_internal = False, title = None
async def wrap_api_call(
self, cb: Callable[[], Any], is_internal: b
📸 Failure Screenshot:
⏱️ Duration: 35.19s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7f3a70cec940>
login_page = <pages.login_page.LoginPage object at 0x7f3a69515de0>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7f3a69517b50>
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 0x7f3a70ceeb60>
cb = <function Channel.send.<locals>.<lambda> at 0x7f3a69554c10>
is_internal = False, title = None
async def wrap_api_call(
self, cb: Callable[[], Any], is_internal: bool = False, title: str
📸 Failure Screenshot:
⏱️ Duration: 32.60s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7f3a70ced750>
login_page = <pages.login_page.LoginPage object at 0x7f3a6a635b70>
autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7f3a6a636080>
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())
tests/test_chat_based_editor.py:191:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
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 0x7f3a70ceeb60>
cb = <function Channel.send.<locals>.<lambda> at 0x7f3a69554d30>
is_internal = False, title = None
async def wrap_api_call(
self, cb: Callable[[], Any], is_internal: bool = False, title: str = None
) -> Any:
if sel
📸 Failure Screenshot: