← Back to All Reports
TESTS FAILED (73%)
Job Name
chat_based_editor_prod
Pipeline ID
Job ID
#4399547
Branch
master
Commit
N/A
Executed At
2026-09-10T17:45:59.240053
16
Passed
6
Failed
0
Skipped

Test Results (22 tests)

test_cbe01_cbe_service_chains_sanity[chromium-caption]
passed
⏱️ Duration: 11.14s
test_cbe01_cbe_service_chains_sanity[chromium-linebreak]
passed
⏱️ Duration: 9.82s
test_cbe01_cbe_service_chains_sanity[chromium-music]
passed
⏱️ Duration: 10.60s
test_cbe01_cbe_service_chains_sanity[chromium-outro_values]
passed
⏱️ Duration: 10.02s
test_cbe01_cbe_service_chains_sanity[chromium-remove_scene]
passed
⏱️ Duration: 11.56s
test_cbe01_cbe_service_chains_sanity[chromium-text_color]
passed
⏱️ Duration: 10.08s
test_cbe01_cbe_service_chains_sanity[chromium-text_font]
passed
⏱️ Duration: 10.39s
test_cbe01_cbe_service_chains_sanity[chromium-logo]
passed
⏱️ Duration: 9.07s
test_cbe01_cbe_service_chains_sanity[chromium-text_position]
failed
⏱️ Duration: 69.95s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7f999cc9ec50> login_page = <pages.login_page.LoginPage object at 0x7f9997fd1060> autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7f9997fd3640> 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() autopilot_page.send_cbe_prompt_and_wait(CBE_PROMPTS[prompt_key]) # text_font / text_position are known to be slower on the backend to # apply and enable Save (documented flaky report in migration_log.md); # give them extra headroom instead of the default 30s. save_timeout = 60_000 if prompt_key in ("text_font", "text_position") else 30_000 > autopilot_page.verify_cbe_save_enabled(timeout=save_timeout) tests/test_chat_based_editor.py:85: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pages.autopilot_page.AutopilotPage object at 0x7f9997fd3640> timeout = 60000 def verify_cbe_save_enabled(self, timeout: int = 30_000): """ V
📸 Failure Screenshot:
Test failure screenshot
test_cbe01_cbe_service_chains_sanity[chromium-translation]
passed
⏱️ Duration: 9.50s
test_cbe01_cbe_service_chains_sanity[chromium-add_scene]
passed
⏱️ Duration: 12.57s
test_cbe01_cbe_service_chains_sanity[chromium-change_watermark]
passed
⏱️ Duration: 10.24s
test_cbe02_cbe_should_work_in_all_ratios[chromium-wide]
failed
⏱️ Duration: 17.61s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7f999cc9da20> login_page = <pages.login_page.LoginPage object at 0x7f9996779990> autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7f9996778970> 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()) 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) > autopilot_page.open_cbe() tests/test_chat_based_editor.py:105: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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 0x7f999cc9eb60> cb = <function Channel.send.<locals>.<lambda> at 0x7f999567bac0> is_internal = False, title = None async def wrap_api_call( self, cb: Callable[[
📸 Failure Screenshot:
Test failure screenshot
test_cbe02_cbe_should_work_in_all_ratios[chromium-vertical]
passed
⏱️ Duration: 12.10s
test_cbe03_replace_a_clip[chromium-stock_video]
failed
⏱️ Duration: 15.88s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7f999cc9d540> login_page = <pages.login_page.LoginPage object at 0x7f9997d994b0> autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7f9997d9b5e0> 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 0x7f999cc9eb60> cb = <function Channel.send.<locals>.<lambda> at 0x7f999
📸 Failure Screenshot:
Test failure screenshot
test_cbe03_replace_a_clip[chromium-stock_photo]
failed
⏱️ Duration: 15.53s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7f999cc9d3c0> login_page = <pages.login_page.LoginPage object at 0x7f9995493d30> autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7f9995493070> 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()) 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 0x7f999cc9eb60> cb = <function Channel.send.<locals>.<lambda> at 0x7f999
📸 Failure Screenshot:
Test failure screenshot
test_cbe03_replace_a_clip[chromium-uploaded_video]
failed
⏱️ Duration: 15.99s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7f999cc9d1b0> login_page = <pages.login_page.LoginPage object at 0x7f99968201c0> autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7f9997d1ece0> 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 0x7f999cc9eb60> cb = <function Channel.send.<locals>.<lambda> at 0x7f
📸 Failure Screenshot:
Test failure screenshot
test_cbe03_replace_a_clip[chromium-uploaded_photo]
failed
⏱️ Duration: 15.91s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7f999cc9d0f0> login_page = <pages.login_page.LoginPage object at 0x7f99950cfa60> autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7f99950ccbb0> 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()) 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 0x7f999cc9eb60> cb = <function Channel.send.<locals>.<lambda> at 0x7f
📸 Failure Screenshot:
Test failure screenshot
test_cbe04_upload_via_filestack_url[chromium-video]
passed
⏱️ Duration: 24.20s
test_cbe04_upload_via_filestack_url[chromium-photo]
passed
⏱️ Duration: 15.76s
test_cbe05_voice_changes_not_possible_for_non_narrated_videos[chromium]
passed
⏱️ Duration: 8.71s
test_cbe06_upload_via_filestack_facebook_page[chromium]
passed
⏱️ Duration: 23.50s